diff --git a/src/main.h b/src/main.h
index 2b260a665..a7360d2f7 100644
--- a/src/main.h
+++ b/src/main.h
@@ -45,7 +45,6 @@ class CScriptCheck;
 class CValidationInterface;
 class CValidationState;
 
-struct CBlockTemplate;
 struct CNodeStateStats;
 
 /** Default for -blockmaxsize and -blockminsize, which control the range of sizes the mining code will create **/
@@ -513,17 +512,6 @@ extern CCoinsViewCache *pcoinsTip;
 /** Global variable that points to the active block tree (protected by cs_main) */
 extern CBlockTreeDB *pblocktree;
 
-struct CBlockTemplate
-{
-    CBlock block;
-    std::vector<CAmount> vTxFees;
-    std::vector<int64_t> vTxSigOps;
-};
-
-
-
-
-
 
 class CValidationInterface {
 protected:
diff --git a/src/miner.cpp b/src/miner.cpp
index 87cb15833..cc97d16f0 100644
--- a/src/miner.cpp
+++ b/src/miner.cpp
@@ -6,7 +6,6 @@
 #include "miner.h"
 
 #include "amount.h"
-#include "primitives/block.h"
 #include "primitives/transaction.h"
 #include "hash.h"
 #include "main.h"
diff --git a/src/miner.h b/src/miner.h
index 3c08b030f..593ddcd37 100644
--- a/src/miner.h
+++ b/src/miner.h
@@ -6,16 +6,21 @@
 #ifndef BITCOIN_MINER_H
 #define BITCOIN_MINER_H
 
+#include "primitives/block.h"
+
 #include <stdint.h>
 
-class CBlock;
-class CBlockHeader;
 class CBlockIndex;
 class CReserveKey;
 class CScript;
 class CWallet;
 
-struct CBlockTemplate;
+struct CBlockTemplate
+{
+    CBlock block;
+    std::vector<CAmount> vTxFees;
+    std::vector<int64_t> vTxSigOps;
+};
 
 /** Run the miner threads */
 void GenerateBitcoins(bool fGenerate, CWallet* pwallet, int nThreads);