diff --git a/src/sakia/core/wallet.py b/src/sakia/core/wallet.py
index fa73835d7c8e080517725e03b7074a9472c129af..9cb080875fb9983decc9575387d52bd28b8d6591 100644
--- a/src/sakia/core/wallet.py
+++ b/src/sakia/core/wallet.py
@@ -323,13 +323,15 @@ class Wallet(QObject):
                     }
         transfer = Transfer.initiate(metadata)
         self.caches[community.currency]._transfers.append(transfer)
-
-        tx = self.prepare_tx(recipient, amount, message, community)
-        logging.debug("TX : {0}".format(tx.raw()))
-
-        tx.sign([key])
-        logging.debug("Transaction : {0}".format(tx.signed_raw()))
-        return await transfer.send(tx, community)
+        try:
+            tx = self.prepare_tx(recipient, amount, message, community)
+            logging.debug("TX : {0}".format(tx.raw()))
+
+            tx.sign([key])
+            logging.debug("Transaction : {0}".format(tx.signed_raw()))
+            return await transfer.send(tx, community)
+        except NotEnoughMoneyError as e:
+            return (False, str(e))
 
     async def sources(self, community):
         """
diff --git a/src/sakia/gui/transfer.py b/src/sakia/gui/transfer.py
index 8ccf76fe0f3251cc7e619a65bc8455b0971c1c28..99f99b043262e6c33e8389ad24bb052f962f956b 100644
--- a/src/sakia/gui/transfer.py
+++ b/src/sakia/gui/transfer.py
@@ -139,6 +139,7 @@ class TransferMoneyDialog(QObject):
             return
 
         QApplication.setOverrideCursor(Qt.WaitCursor)
+
         result = await self.wallet.send_money(self.account.salt, password, self.community,
                                    recipient, amount, comment)
         if result[0]: