diff --git a/src/sakia/core/txhistory.py b/src/sakia/core/txhistory.py
index ecfa725f85f88c658c9766c32baf6bcb80e0eb3c..303ba3c1aa0f7f94639d846754fcb56d53b50dbe 100644
--- a/src/sakia/core/txhistory.py
+++ b/src/sakia/core/txhistory.py
@@ -316,23 +316,25 @@ class TxHistory():
         :param int block_number: The block to check for transfers
         """
         block_doc = await self._get_block_doc(community, block_number)
+        if block_doc:
+            # We check the block dividend state
+            match = [d for d in self._dividends if d['block_number'] == block_number]
+            if len(match) > 0:
+                if block_doc.ud:
+                    match[0]['amount'] = block_doc.ud
+                    match[0]['base'] = block_doc.unit_base
+                else:
+                    self._dividends.remove(match[0])
 
-        # We check the block dividend state
-        match = [d for d in self._dividends if d['block_number'] == block_number]
-        if len(match) > 0:
-            if block_doc.ud:
-                match[0]['amount'] = block_doc.ud
-                match[0]['base'] = block_doc.unit_base
-            else:
-                self._dividends.remove(match[0])
-
-        # We check if transactions are still present
-        for transfer in [t for t in self._transfers
-                         if t.state in (TransferState.VALIDATING, TransferState.VALIDATED) and
-                         t.blockUID.number == block_number]:
-            if transfer.blockUID.sha_hash == block_doc.blockUID.sha_hash:
-                return True
-            transfer.run_state_transitions((True, block_doc))
+            # We check if transactions are still present
+            for transfer in [t for t in self._transfers
+                             if t.state in (TransferState.VALIDATING, TransferState.VALIDATED) and
+                             t.blockUID.number == block_number]:
+                if transfer.blockUID.sha_hash == block_doc.blockUID.sha_hash:
+                    return True
+                transfer.run_state_transitions((True, block_doc))
+        else:
+            logging.debug("Could not get block document")
         return False
 
     async def _rollback(self, community):
@@ -359,10 +361,11 @@ class TxHistory():
                     break
 
             current_block = await self._get_block_doc(community, community.network.current_blockUID.number)
-            members_pubkeys = await community.members_pubkeys()
-            for transfer in [t for t in self._transfers
-                             if t.state == TransferState.VALIDATED]:
-                transfer.run_state_transitions((True, current_block, MAX_CONFIRMATIONS))
+            if current_block:
+                members_pubkeys = await community.members_pubkeys()
+                for transfer in [t for t in self._transfers
+                                 if t.state == TransferState.VALIDATED]:
+                    transfer.run_state_transitions((True, current_block, MAX_CONFIRMATIONS))
         except NoPeerAvailable:
             logging.debug("No peer available")