diff --git a/source/games/exhumed/all.cpp b/source/games/exhumed/all.cpp
index 490af75ba..3e9827411 100644
--- a/source/games/exhumed/all.cpp
+++ b/source/games/exhumed/all.cpp
@@ -5,7 +5,6 @@
 #include "src/bullet.cpp"
 #include "src/cd.cpp"
 #include "src/cheats.cpp"
-#include "src/enginesubs.cpp"
 #include "src/exhumed.cpp"
 #include "src/fish.cpp"
 #include "src/gameloop.cpp"
diff --git a/source/games/exhumed/src/enginesubs.cpp b/source/games/exhumed/src/enginesubs.cpp
deleted file mode 100644
index ef9357c70..000000000
--- a/source/games/exhumed/src/enginesubs.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-//-------------------------------------------------------------------------
-/*
-Copyright (C) 2010-2019 EDuke32 developers and contributors
-Copyright (C) 2019 sirlemonhead, Nuke.YKT
-This file is part of PCExhumed.
-PCExhumed is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License version 2
-as published by the Free Software Foundation.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-See the GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
-*/
-//-------------------------------------------------------------------------
-
-#include "ns.h"
-#include "engine.h"
-#include "precache.h"
-#include "gamecvars.h"
-#include "gamecontrol.h"
-
-
-BEGIN_PS_NS
-
-//---------------------------------------------------------------------------
-//
-//
-//
-//---------------------------------------------------------------------------
-
-void precache()
-{
-    if (!r_precache) return;
-
-    precacheMap();
-
-	ExhumedSpriteIterator it;
-	while (auto ac = it.Next())
-    {
-        markTextureForPrecache(ac->spr.spritetexture(), ac->spr.pal);
-    }
-    precacheMarkedTiles();
-}
-
-END_PS_NS
diff --git a/source/games/exhumed/src/init.cpp b/source/games/exhumed/src/init.cpp
index 3e51e0a72..7cdcadaef 100644
--- a/source/games/exhumed/src/init.cpp
+++ b/source/games/exhumed/src/init.cpp
@@ -31,6 +31,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 #include <stdio.h>
 #include <string.h>
 #include "statusbar.h"
+#include "precache.h"
 
 BEGIN_PS_NS
 
@@ -78,6 +79,25 @@ static TArray<DExhumedActor*> spawnactors(SpawnSpriteDef& sprites)
     return spawns;
 }
 
+//---------------------------------------------------------------------------
+//
+//
+//
+//---------------------------------------------------------------------------
+
+static void precache()
+{
+    if (!r_precache) return;
+
+    precacheMap();
+
+    ExhumedSpriteIterator it;
+    while (auto ac = it.Next())
+    {
+        markTextureForPrecache(ac->spr.spritetexture(), ac->spr.pal);
+    }
+    precacheMarkedTiles();
+}
 
 //---------------------------------------------------------------------------
 //