diff --git a/src/sakia/gui/certification.py b/src/sakia/gui/certification.py
index c79a964651cd2bda625abb2633856764e0a2a70a..87a9874fb85850e37fb88639cca2e1f6404ec2ae 100644
--- a/src/sakia/gui/certification.py
+++ b/src/sakia/gui/certification.py
@@ -54,6 +54,7 @@ class CertificationDialog(QDialog, Ui_CertificationDialog):
     @asyncify
     @asyncio.coroutine
     def accept(self):
+        self.button_box.setEnabled(False)
         if self.radio_contact.isChecked():
             for contact in self.account.contacts:
                 if contact['name'] == self.combo_contact.currentText():
@@ -64,6 +65,7 @@ class CertificationDialog(QDialog, Ui_CertificationDialog):
 
         password = yield from self.password_asker.async_exec()
         if password == "":
+            self.button_box.setEnabled(True)
             return
         QApplication.setOverrideCursor(Qt.WaitCursor)
         result = yield from self.account.certify(password, self.community, pubkey)
@@ -85,6 +87,7 @@ class CertificationDialog(QDialog, Ui_CertificationDialog):
                                           self.tr("Could not broadcast certification : {0}"
                                                                 .format(result[1])))
             QApplication.restoreOverrideCursor()
+            self.button_box.setEnabled(True)
 
     def change_current_community(self, index):
         self.community = self.account.communities[index]
diff --git a/src/sakia/gui/transfer.py b/src/sakia/gui/transfer.py
index 25efea077fd3ce3f55fbcfb437956dad30936f9c..10d7e83eb3ab4a8c067d9f3755e941c854a1d527 100644
--- a/src/sakia/gui/transfer.py
+++ b/src/sakia/gui/transfer.py
@@ -93,6 +93,7 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog):
     @asyncify
     @asyncio.coroutine
     def accept(self):
+        self.button_box.setEnabled(False)
         comment = self.edit_message.text()
 
         if self.radio_contact.isChecked():
@@ -108,6 +109,7 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog):
             yield from QAsyncMessageBox.critical(self, self.tr("Money transfer"),
                                  self.tr("No amount. Please give the transfert amount"),
                                  QMessageBox.Ok)
+            self.button_box.setEnabled(True)
             return
 
         password = yield from self.password_asker.async_exec()
@@ -139,6 +141,7 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog):
                 yield from QAsyncMessageBox.critical(self, self.tr("Transfer"), result[1])
 
             QApplication.restoreOverrideCursor()
+            self.button_box.setEnabled(True)
 
     @asyncify
     @asyncio.coroutine