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: d6246773beb52d8d80453cb5f9a385ab8c5e094dacb9ac88d973767386447802
+-- hash: 1a72ea1e61a37fb552c70ba33fbfdc024976cb11e0478bc84573f8eff70c4f87
 
 name:           haskoin-store
-version:        0.41.1
+version:        0.41.2
 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
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
@@ -326,7 +326,8 @@
                       "Could not initialize: " <> cs (show e)
                   throwIO e
               Right () -> return ()
-    run inbox = withAsync (pingMe (inboxToMailbox inbox))
+    run inbox =
+          withAsync (pingMe (inboxToMailbox inbox))
           $ const
           $ forever
           $ receive inbox >>=
@@ -962,26 +963,26 @@
     processTxs p ts
 
 processBlockStoreMessage (BlockPing r) = do
-    trySyncing
-    processMempool
-    pruneOrphans
-    checkTime
-    pruneMempool
     setStoreHeight
     setHeadersHeight
     setPendingTxs
     setPeersConnected
     setMempoolSize
+    trySyncing
+    processMempool
+    pruneOrphans
+    checkTime
+    pruneMempool
     atomically (r ())
 
 pingMe :: MonadLoggerIO m => Mailbox BlockStoreMessage -> m ()
 pingMe mbox =
     forever $ do
+        BlockPing `query` mbox
         delay <- liftIO $
             randomRIO (  100 * 1000
                       , 1000 * 1000 )
         threadDelay delay
-        BlockPing `query` mbox
 
 blockStorePeerConnect :: MonadIO m => Peer -> BlockStore -> m ()
 blockStorePeerConnect peer store =
diff --git a/src/Haskoin/Store/Cache.hs b/src/Haskoin/Store/Cache.hs
--- a/src/Haskoin/Store/Cache.hs
+++ b/src/Haskoin/Store/Cache.hs
@@ -640,16 +640,16 @@
        (MonadUnliftIO m, MonadLoggerIO m, StoreReadExtra m)
     => CacheWriterMessage -> CacheX m ()
 cacheWriterReact CacheNewBlock =
-    doSync True
+    doSync
 cacheWriterReact (CachePing respond) =
-    doSync False >> atomically (respond ())
+    doSync >> atomically (respond ())
 
 doSync :: (MonadUnliftIO m, MonadLoggerIO m, StoreReadExtra m)
-       => Bool -> CacheX m ()
-doSync prune =
+       => CacheX m ()
+doSync =
     inSync >>= \s -> when s $ do
         newBlockC
-        syncMempoolC prune
+        syncMempoolC
         void pruneDB
 
 lenNotNull :: [XPubBal] -> Int
@@ -1052,15 +1052,15 @@
         in void . runRedis $ Redis.setOpts key "0" opts
 
 syncMempoolC :: (MonadUnliftIO m, MonadLoggerIO m, StoreReadExtra m)
-             => Bool -> CacheX m ()
-syncMempoolC prune =
+             => CacheX m ()
+syncMempoolC =
     toInteger <$> asks cacheRefresh >>= \refresh ->
     void . withLock . withCool "cool" (refresh * 9 `div` 10) $
     withMetrics cacheMempoolSyncTime $ do
     nodepool <- HashSet.fromList . map snd <$> lift getMempool
     cachepool <- HashSet.fromList . map snd <$> cacheGetMempool
     getem (HashSet.difference nodepool cachepool)
-    when prune $ getem (HashSet.difference cachepool nodepool)
+    getem (HashSet.difference cachepool nodepool)
     incrementCounter cacheRefreshes
   where
     getem tset = do
