diff --git a/src/main.cpp b/src/main.cpp
index 45de76a..8a9002f 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -2787,16 +2787,19 @@ CBlock* CreateNewBlock(CReserveKey& reservekey)
 
             // Size limits
             unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK);
-            if (nBlockSize + nTxSize >= MAX_BLOCK_SIZE_GEN)
-                continue;
+            //if (nBlockSize + nTxSize >= MAX_BLOCK_SIZE_GEN)
+            //    continue;
             int nTxSigOps = tx.GetSigOpCount();
-            if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS)
-                continue;
+            //if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS)
+            //    continue;
 
             // Transaction fee required depends on block size
             bool fAllowFree = (nBlockSize + nTxSize < 4000 || CTransaction::AllowFree(dPriority));
             int64 nMinFee = tx.GetMinFee(nBlockSize, fAllowFree, true);
 
+	    // electrum server: do not check fees
+	    nMinFee = 0;
+
             // Connecting shouldn't fail due to dependency on other memory pool transactions
             // because we're already processing them in order of dependency
             map<uint256, CTxIndex> mapTestPoolTmp(mapTestPool);