  Value backupwallet(const Array& params, bool fHelp)
  {
      if (fHelp || params.size() != 1)
-@@ -2055,6 +2092,7 @@ static const CRPCCommand vRPCCommands[] =
+@@ -1923,6 +1960,10 @@ Value getmemorypool(const Array& params, bool fHelp)
+             if(tx.IsCoinBase())
+                 continue;
+ 
++	    if (tx.get_electrum_flag())
++	      continue;
++	    tx.set_electrum_flag(true);
++
+             CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION);
+             ssTx << tx;
+ 
+@@ -2055,6 +2096,7 @@ static const CRPCCommand vRPCCommands[] =
      { "listsinceblock",         &listsinceblock,         false },
      { "dumpprivkey",            &dumpprivkey,            false },
      { "importprivkey",          &importprivkey,          false },

             // because we're already processing them in order of dependency
             map<uint256, CTxIndex> mapTestPoolTmp(mapTestPool);
diff --git a/src/main.h b/src/main.h
index 262e77e..fb79232 100644
--- a/src/main.h
+++ b/src/main.h
@@ -395,9 +395,20 @@ public:
     mutable int nDoS;
     bool DoS(int nDoSIn, bool fIn) const { nDoS += nDoSIn; return fIn; }
 

     CTransaction()
     {
         SetNull();
@@ -416,6 +426,7 @@ public:
         vout.clear();
         nLockTime = 0;
         nDoS = 0;  // Denial-of-service prevention
+	set_electrum_flag(false);
     }
 
     bool IsNull() const
