diff --git a/src/sakia/core/app.py b/src/sakia/core/app.py
index 7f66f3530169d976deededf1f2467f144452cf61..860be4955f64da5b9fae58833a21ef1e14ad717a 100644
--- a/src/sakia/core/app.py
+++ b/src/sakia/core/app.py
@@ -35,6 +35,7 @@ class Application(QObject):
 
     version_requested = pyqtSignal()
     view_identity_in_wot = pyqtSignal(Identity)
+    refresh_transfers = pyqtSignal()
 
     def __init__(self, qapp, loop, identities_registry):
         """
diff --git a/src/sakia/gui/transactions_tab.py b/src/sakia/gui/transactions_tab.py
index cead5a8578d629063199e5d4382f8432e65ec0c6..6bb27065ed0a284620eac0957132b5cdd6ea8b58 100644
--- a/src/sakia/gui/transactions_tab.py
+++ b/src/sakia/gui/transactions_tab.py
@@ -62,6 +62,7 @@ class TransactionsTabWidget(QObject):
 
         model.modelAboutToBeReset.connect(lambda: self.ui.table_history.setEnabled(False))
         model.modelReset.connect(lambda: self.ui.table_history.setEnabled(True))
+        self.app.refresh_transfers.connect(self.refresh)
 
         self.ui.progressbar.hide()
         self.refresh()
diff --git a/src/sakia/gui/widgets/context_menu.py b/src/sakia/gui/widgets/context_menu.py
index c0d00cd0519ff8dad0ea73c477d1344d498baa0b..fc25841fa4ab1bee3b8136fb043b12850c206eb3 100644
--- a/src/sakia/gui/widgets/context_menu.py
+++ b/src/sakia/gui/widgets/context_menu.py
@@ -144,8 +144,7 @@ class ContextMenu(QObject):
     async def send_money(self, identity):
         await TransferMoneyDialog.send_money_to_identity(self._app, self._account, self._password_asker,
                                                             self._community, identity)
-        #TODO: Send signal from account to refresh transfers
-        #self.ui.table_history.model().sourceModel().refresh_transfers()
+        self._app.refresh_transfers.emit()
 
     def view_wot(self, identity):
         self.view_identity_in_wot.emit(identity)
@@ -159,18 +158,16 @@ class ContextMenu(QObject):
     async def send_again(self, transfer):
         await TransferMoneyDialog.send_transfer_again(self._app, self._app.current_account,
                                      self._password_asker, self._community, transfer)
-        #TODO: Send signal from account to refresh transfers
-        #self.ui.table_history.model().sourceModel().refresh_transfers()
+        self._app.refresh_transfers.emit()
 
     def cancel_transfer(self, transfer):
-        reply = QMessageBox.warning(self, self.tr("Warning"),
+        reply = QMessageBox.warning(self.qmenu, self.tr("Warning"),
                              self.tr("""Are you sure ?
 This money transfer will be removed and not sent."""),
 QMessageBox.Ok | QMessageBox.Cancel)
         if reply == QMessageBox.Ok:
             transfer.cancel()
-        #TODO: Send signal from transfer to refresh transfers
-        #self.ui.table_history.model().sourceModel().refresh_transfers()
+        self._app.refresh_transfers.emit()
 
     @asyncify
     async def copy_transaction_to_clipboard(self, tx):