diff --git a/src/cutecoin/core/app.py b/src/cutecoin/core/app.py
index 4343d3718a80161ed8ab9df5261f2445e5b815a9..3bbc983361d167e6a20f4e81fb2a0f3057ca4352 100644
--- a/src/cutecoin/core/app.py
+++ b/src/cutecoin/core/app.py
@@ -252,13 +252,8 @@ class Application(QObject):
             self.accounts[account_name] = account
 
             for community in account.communities:
-                def refresh_tx(blocknumber, co=community):
-                    account.refresh_transactions(self, co)
-                community.network.new_block_mined.connect(refresh_tx)
-
-                def rollback_tx(blocknumber, co=community):
-                    account.rollback_transaction(self, co)
-                community.network.new_block_mined.connect(rollback_tx)
+                community.network.new_block_mined.connect(lambda b, co=community: account.refresh_transactions(self, co))
+                community.network.blockchain_rollback.connect(lambda b, co=community: account.rollback_transaction(self, co))
 
     def load_cache(self, account):
         """
diff --git a/src/cutecoin/core/transfer.py b/src/cutecoin/core/transfer.py
index 028e3082c5d5aeb1948ff88e38256590bf1511d8..a61dd398866eac824272eb1fcd358274328b6268 100644
--- a/src/cutecoin/core/transfer.py
+++ b/src/cutecoin/core/transfer.py
@@ -72,27 +72,27 @@ class Transfer(QObject):
         self._table_states = {
             (TransferState.TO_SEND, (list, Block)):
                 (
-                    (self._broadcast_success, self._wait, TransferState.AWAITING),
-                    (self._broadcast_failure, None, TransferState.REFUSED),
+                    (self._broadcast_success, lambda l, b: self._wait(b), TransferState.AWAITING),
+                    (lambda l,b: self._broadcast_failure(b), None, TransferState.REFUSED),
                 ),
             (TransferState.TO_SEND, ()):
                 ((self._is_locally_created, self._drop, TransferState.DROPPED),),
 
             (TransferState.AWAITING, (bool, Block)):
-                ((self._found_in_block, self._be_validating, TransferState.VALIDATING),),
+                ((self._found_in_block, lambda r, b: self._be_validating(b), TransferState.VALIDATING),),
             (TransferState.AWAITING, (bool, Block, int, int)):
                 ((self._not_found_in_blockchain, None, TransferState.REFUSED),),
 
             (TransferState.VALIDATING, (bool, Block, int)):
                 ((self._reached_enough_validation, None, TransferState.VALIDATED),),
             (TransferState.VALIDATING, (bool, Block)):
-                ((self._rollback_and_removed, self._drop, TransferState.DROPPED),),
+                ((self._rollback_and_removed, lambda r, b: self._drop(), TransferState.DROPPED),),
 
             (TransferState.VALIDATED, (bool, Block)):
                 (
-                    (self._rollback_still_present, self._be_validating, TransferState.VALIDATING),
-                    (self._rollback_and_removed, self._drop, TransferState.DROPPED),
-                    (self._rollback_and_local, self._wait, TransferState.AWAITING),
+                    (self._rollback_still_present, lambda r, b: self._be_validating(b), TransferState.VALIDATING),
+                    (self._rollback_and_removed, lambda r, b: self._drop(), TransferState.DROPPED),
+                    (self._rollback_and_local, lambda r, b: self._wait(b), TransferState.AWAITING),
                 ),
 
             (TransferState.REFUSED, ()):
@@ -256,16 +256,15 @@ class Transfer(QObject):
         """
         return self._locally_created
 
-    def _wait(self, ret_codes, current_block):
+    def _wait(self, current_block):
         """
         Set the transfer as AWAITING validation.
-        :param list ret_codes: The responses return codes
         :param ucoinpy.documents.Block current_block: Current block of the main blockchain
         """
         self.blockid = current_block.blockid
         self._metadata['time'] = current_block.mediantime
 
-    def _be_validating(self, rollback, block):
+    def _be_validating(self, block):
         """
         Action when the transfer ins found in a block
 
diff --git a/src/cutecoin/core/txhistory.py b/src/cutecoin/core/txhistory.py
index 61bce67a6ed9b6e8641f7dde885ef0ef48f4ae66..3caa532d6e1fb134874897261e8bd981d69afb17 100644
--- a/src/cutecoin/core/txhistory.py
+++ b/src/cutecoin/core/txhistory.py
@@ -294,11 +294,11 @@ class TxHistory():
         self.wallet.refresh_finished.emit(received_list)
 
     @asyncio.coroutine
-    def _check_block(self, block_number, community):
+    def _check_block(self, community, block_number):
         """
         Parse a block
         :param cutecoin.core.Community community: The community
-        :param cutecoin.core.Transfer transfer: The transfer to check the presence
+        :param int block_number: The block to check for transfers
         """
         block = None
         block_doc = None
@@ -319,11 +319,10 @@ class TxHistory():
                 if '404' in str(e):
                     block = None
                     tries += 1
-        if block_doc:
-            for transfer in [t for t in self._transfers
-                             if t.state in (TransferState.VALIDATING, TransferState.VALIDATED) and
-                             t.blockid.number == block_number]:
-                return not transfer.run_state_transitions((True, block_doc))
+        for transfer in [t for t in self._transfers
+                         if t.state in (TransferState.VALIDATING, TransferState.VALIDATED) and
+                         t.blockid.number == block_number]:
+            return not transfer.run_state_transitions((True, block_doc))
         else:
             return False
 
@@ -383,7 +382,7 @@ class TxHistory():
     def rollback(self, community, received_list):
         yield from self._wait_for_previous_refresh()
         # Then we start a new one
-        logging.debug("Starts a new refresh")
+        logging.debug("Starts a new rollback")
         task = asyncio.async(self._rollback(community))
         self._running_refresh.append(task)