diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@
 The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html)
 
+## 0.35.9
+### Removed
+- Mempool is no longer synced by default to fix public Bitcoin Core regression.
+
 ## 0.35.8
 ### Changed
 - Put derivations stat inside database.
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -69,6 +69,7 @@
     , configRedisMax        :: !Integer
     , configWipeMempool     :: !Bool
     , configNoMempool       :: !Bool
+    , configSyncMempool     :: !Bool
     , configPeerTimeout     :: !Int
     , configPeerMaxLife     :: !Int
     , configMaxPeers        :: !Int
@@ -101,6 +102,7 @@
                  , configRedisMax        = defRedisMax
                  , configWipeMempool     = defWipeMempool
                  , configNoMempool       = defNoMempool
+                 , configSyncMempool     = defSyncMempool
                  , configPeerTimeout     = defPeerTimeout
                  , configPeerMaxLife     = defPeerMaxLife
                  , configMaxPeers        = defMaxPeers
@@ -175,6 +177,11 @@
     defEnv "CACHE" False parseBool
 {-# NOINLINE defRedis #-}
 
+defSyncMempool :: Bool
+defSyncMempool = unsafePerformIO $
+    defEnv "SYNC_MEMPOOL" False parseBool
+{-# NOINLINE defSyncMempool #-}
+
 defDiscover :: Bool
 defDiscover = unsafePerformIO $
     defEnv "DISCOVER" False parseBool
@@ -499,6 +506,10 @@
         flag (configWipeMempool def) True $
         long "wipe-mempool"
         <> help "Wipe mempool at start"
+    configSyncMempool <-
+        flag (configSyncMempool def) True $
+        long "sync-mempool"
+        <> help "Sync mempool from peers"
     configMaxDiff <-
         option auto $
         metavar "INT"
@@ -608,6 +619,7 @@
            , configMaxPeers = maxpeers
            , configMaxDiff = maxdiff
            , configNoMempool = nomem
+           , configSyncMempool = syncmem
            , configCacheRefresh = crefresh
            , configCacheRetryDelay = cretrydelay
            , configStatsd = statsd
@@ -638,6 +650,7 @@
                     , storeConfMaxKeys = redismax
                     , storeConfWipeMempool = wipemempool
                     , storeConfNoMempool = nomem
+                    , storeConfSyncMempool = syncmem
                     , storeConfPeerTimeout = fromIntegral peertimeout
                     , storeConfPeerMaxLife = fromIntegral peerlife
                     , storeConfConnect = withConnection
diff --git a/haskoin-store.cabal b/haskoin-store.cabal
--- a/haskoin-store.cabal
+++ b/haskoin-store.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 585582b76ffd5ba96243c759d59ac87300d0868ed1b082361e75f3955834a402
+-- hash: ee92cb78c54effa254b70e987aa0b0e76e0f620dcab5aa11447a50e6838bbd15
 
 name:           haskoin-store
-version:        0.53.8
+version:        0.53.9
 synopsis:       Storage and index for Bitcoin and Bitcoin Cash
 description:    Please see the README on GitHub at <https://github.com/haskoin/haskoin-store#readme>
 category:       Bitcoin, Finance, Network
@@ -62,7 +62,7 @@
     , hashable >=1.3.0.0
     , haskoin-core >=0.20.4
     , haskoin-node >=0.17.0
-    , haskoin-store-data ==0.53.8
+    , haskoin-store-data ==0.53.9
     , hedis >=0.12.13
     , http-types >=0.12.3
     , lens >=4.18.1
@@ -116,7 +116,7 @@
     , haskoin-core >=0.20.4
     , haskoin-node >=0.17.0
     , haskoin-store
-    , haskoin-store-data ==0.53.8
+    , haskoin-store-data ==0.53.9
     , hedis >=0.12.13
     , http-types >=0.12.3
     , lens >=4.18.1
@@ -175,7 +175,7 @@
     , haskoin-core >=0.20.4
     , haskoin-node >=0.17.0
     , haskoin-store
-    , haskoin-store-data ==0.53.8
+    , haskoin-store-data ==0.53.9
     , hedis >=0.12.13
     , hspec >=2.7.1
     , http-types >=0.12.3
diff --git a/src/Haskoin/Store/BlockStore.hs b/src/Haskoin/Store/BlockStore.hs
--- a/src/Haskoin/Store/BlockStore.hs
+++ b/src/Haskoin/Store/BlockStore.hs
@@ -223,6 +223,8 @@
         -- ^ do not index new mempool transactions
         , blockConfWipeMempool :: !Bool
         -- ^ wipe mempool at start
+        , blockConfSyncMempool :: !Bool
+        -- ^ sync mempool from peers
         , blockConfPeerTimeout :: !NominalDiffTime
         -- ^ disconnect syncing peer if inactive for this long
         , blockConfStats       :: !(Maybe Metrics.Store)
@@ -351,8 +353,13 @@
     n <- asks (blockConfNoMempool . myConfig)
     unless n f
 
+syncMempool :: Monad m => BlockT m () -> BlockT m ()
+syncMempool f = do
+    n <- asks (blockConfSyncMempool . myConfig)
+    unless n f
+
 mempool :: (MonadUnliftIO m, MonadLoggerIO m) => Peer -> BlockT m ()
-mempool p = guardMempool $ void $ async $ do
+mempool p = guardMempool $ syncMempool $ void $ async $ do
     isInSync >>= \s -> when s $ do
         $(logDebugS) "BlockStore" $
             "Requesting mempool from peer: " <> peerText p
diff --git a/src/Haskoin/Store/Manager.hs b/src/Haskoin/Store/Manager.hs
--- a/src/Haskoin/Store/Manager.hs
+++ b/src/Haskoin/Store/Manager.hs
@@ -91,6 +91,8 @@
       -- ^ do not index new mempool transactions
         , storeConfWipeMempool     :: !Bool
       -- ^ wipe mempool when starting
+        , storeConfSyncMempool         :: !Bool
+      -- ^ sync mempool from peers
         , storeConfPeerTimeout     :: !NominalDiffTime
       -- ^ disconnect peer if message not received for this many seconds
         , storeConfPeerMaxLife     :: !NominalDiffTime
@@ -150,6 +152,7 @@
         , blockConfNet = storeConfNetwork cfg
         , blockConfNoMempool = storeConfNoMempool cfg
         , blockConfWipeMempool = storeConfWipeMempool cfg
+        , blockConfSyncMempool = storeConfSyncMempool cfg
         , blockConfPeerTimeout = storeConfPeerTimeout cfg
         , blockConfStats = storeConfStats cfg
         }
diff --git a/test/Haskoin/StoreSpec.hs b/test/Haskoin/StoreSpec.hs
--- a/test/Haskoin/StoreSpec.hs
+++ b/test/Haskoin/StoreSpec.hs
@@ -93,6 +93,7 @@
               , storeConfMaxKeys = 100 * 1000 * 1000
               , storeConfNoMempool = False
               , storeConfWipeMempool = False
+              , storeConfSyncMempool = False
               , storeConfPeerTimeout = 60
               , storeConfPeerMaxLife = 48 * 3600
               , storeConfConnect = dummyPeerConnect net ad
