diff --git a/Assets/Scripts/StatsManager.cs b/Assets/Scripts/StatsManager.cs
index 63abd6a0f9b49e9d413e40039135a684a82706e1..88a03074d93296ad43f8a7e250f794684e504cc1 100644
--- a/Assets/Scripts/StatsManager.cs
+++ b/Assets/Scripts/StatsManager.cs
@@ -43,7 +43,7 @@ public class UpgradeData
     // You probably shouldn't call this outside this file.
     public int GetUnadjustedNextUpgradeCost()
     {
-        return (int)(upgrade.baseCost * (1 + count * upgrade.costMultiplier));
+        return (int)(upgrade.baseCost * Mathf.Pow(1 + upgrade.costMultiplier, count));
     }
 }
 
diff --git a/Assets/Scripts/Upgrades/UpgradeController.cs b/Assets/Scripts/Upgrades/UpgradeController.cs
index 3f489ab040202093d4978dc5d110aa146cfcc805..2b668c80a4b4af199f790c6f50d487c47fd11b98 100644
--- a/Assets/Scripts/Upgrades/UpgradeController.cs
+++ b/Assets/Scripts/Upgrades/UpgradeController.cs
@@ -38,7 +38,7 @@ public class UpgradeController : MonoBehaviour
         multiplierTexts.Add(UpgradeTypes.MANA_COST, manaMultiplierText);
         foreach (KeyValuePair<UpgradeTypes,Text> multiplierText in multiplierTexts)
         {
-            multiplierText.Value.text = statsManager.GetTotalEffectMultiplier(multiplierText.Key).ToString();
+            multiplierText.Value.text = statsManager.GetTotalEffectMultiplier(multiplierText.Key).ToString("F2");
         }
 
     }
@@ -66,7 +66,7 @@ public class UpgradeController : MonoBehaviour
         if (statsManager.BuyUpgrade(upgradeType))
         {
             upgradeTexts[upgradeType].text = statsManager.GetNextUpgradeCost(upgradeType).ToString();
-            multiplierTexts[upgradeType].text = statsManager.GetTotalEffectMultiplier(upgradeType).ToString();
+            multiplierTexts[upgradeType].text = statsManager.GetTotalEffectMultiplier(upgradeType).ToString("F2");
             if (upgradeType == UpgradeTypes.MANA_COST)
             {
                 UpdateAllCosts();