diff --git a/src/Locations/ui/CoresButton.tsx b/src/Locations/ui/CoresButton.tsx
index 6a558539a..cd8b378d0 100644
--- a/src/Locations/ui/CoresButton.tsx
+++ b/src/Locations/ui/CoresButton.tsx
@@ -19,7 +19,7 @@ export function CoresButton(props: IProps): React.ReactElement {
     return <Button>Upgrade 'home' cores - MAX</Button>;
   }
 
-  const cost = 1e9 * Math.pow(7.5, homeComputer.cpuCores);
+  const cost = props.p.getUpgradeHomeCoresCost();
 
   function buy(): void {
     if (maxCores) return;
diff --git a/src/PersonObjects/IPlayer.ts b/src/PersonObjects/IPlayer.ts
index 37fcd2035..295decdd6 100644
--- a/src/PersonObjects/IPlayer.ts
+++ b/src/PersonObjects/IPlayer.ts
@@ -191,6 +191,7 @@ export interface IPlayer {
   getHomeComputer(): Server;
   getNextCompanyPosition(company: Company, entryPosType: CompanyPosition): CompanyPosition | null;
   getUpgradeHomeRamCost(): number;
+  getUpgradeHomeCoresCost(): number;
   gotoLocation(to: LocationName): boolean;
   hasAugmentation(aug: string | Augmentation): boolean;
   hasCorporation(): boolean;
diff --git a/src/PersonObjects/Player/PlayerObject.ts b/src/PersonObjects/Player/PlayerObject.ts
index 14ab741c9..175f27725 100644
--- a/src/PersonObjects/Player/PlayerObject.ts
+++ b/src/PersonObjects/Player/PlayerObject.ts
@@ -198,6 +198,7 @@ export class PlayerObject implements IPlayer {
   getHomeComputer: () => Server;
   getNextCompanyPosition: (company: Company, entryPosType: CompanyPosition) => CompanyPosition | null;
   getUpgradeHomeRamCost: () => number;
+  getUpgradeHomeCoresCost: () => number;
   gotoLocation: (to: LocationName) => boolean;
   hasAugmentation: (aug: string | Augmentation) => boolean;
   hasCorporation: () => boolean;
@@ -567,6 +568,7 @@ export class PlayerObject implements IPlayer {
     this.getCurrentServer = serverMethods.getCurrentServer;
     this.getHomeComputer = serverMethods.getHomeComputer;
     this.getUpgradeHomeRamCost = serverMethods.getUpgradeHomeRamCost;
+    this.getUpgradeHomeCoresCost = serverMethods.getUpgradeHomeCoresCost;
     this.createHacknetServer = serverMethods.createHacknetServer;
     this.factionWorkType = "";
     this.committingCrimeThruSingFn = false;
diff --git a/src/PersonObjects/Player/PlayerObjectServerMethods.ts b/src/PersonObjects/Player/PlayerObjectServerMethods.ts
index d5925b5b4..a7e9430e5 100644
--- a/src/PersonObjects/Player/PlayerObjectServerMethods.ts
+++ b/src/PersonObjects/Player/PlayerObjectServerMethods.ts
@@ -40,6 +40,10 @@ export function getUpgradeHomeRamCost(this: IPlayer): number {
   return cost;
 }
 
+export function getUpgradeHomeCoresCost(this: IPlayer): number {
+  return 1e9 * Math.pow(7.5, this.getHomeComputer().cpuCores);
+}
+
 export function createHacknetServer(this: IPlayer): HacknetServer {
   const numOwned = this.hacknetNodes.length;
   const name = `hacknet-node-${numOwned}`;