diff --git a/src/TechTree.cpp b/src/TechTree.cpp
index fdd3f3f5c8b8ae23c9b374ef6b2ae742ba9597f6..f9b5aba5d39fd7447b18bb41992d37b683f10787 100644
--- a/src/TechTree.cpp
+++ b/src/TechTree.cpp
@@ -48,6 +48,7 @@ void TechTree::onStart()
             data.requiredUnits.clear();
             data.requiredUpgrades.clear();
             updated.insert(description.result_type);
+			data.buildTime = description.buildTime;
 
             data.buildAbility = sc2::ABILITY_ID::INVALID;
         }
diff --git a/src/TechTreeImproved.cpp b/src/TechTreeImproved.cpp
index 8b07889aeb8510c3a9eb1a4b6289bf674e521540..a6594be4f9f858d908feca9d2b8644ed9ebc5bc4 100644
--- a/src/TechTreeImproved.cpp
+++ b/src/TechTreeImproved.cpp
@@ -116,6 +116,7 @@ void parse_build_description(BuildDescription & description, json & build_item)
 {
     description.result_type = static_cast<sc2::UNIT_TYPEID>(build_item["unit"]);
     description.build_ability = static_cast<sc2::ABILITY_ID>(build_item["ability"]);
+	description.buildTime = static_cast<int>(build_item["time"]);
 
     if (build_item.find("requires") != build_item.end())
     {
diff --git a/src/TechTreeImproved.h b/src/TechTreeImproved.h
index 0948a328c5e9a9216b7a8ff7e3f85eba5ba70dd3..4dd5a253b8e1f04e203aad20e6037afee5ce08eb 100644
--- a/src/TechTreeImproved.h
+++ b/src/TechTreeImproved.h
@@ -18,6 +18,7 @@ struct BuildDescription
     std::vector<sc2::UNIT_TYPEID> buildings_needed;
     std::vector<sc2::UNIT_TYPEID> addons_needed;
     std::vector<sc2::UPGRADE_ID> upgrades_needed;
+	int buildTime;
 };
 
 struct ResearchDescription