diff --git a/res/ui/transfer.ui b/res/ui/transfer.ui
index ae2c1b4b23d48808e61a85ad74a20e08333917d1..71e077897ca067494ae853a3f50c3981e09a86ac 100644
--- a/res/ui/transfer.ui
+++ b/res/ui/transfer.ui
@@ -175,6 +175,9 @@
         </item>
         <item>
          <widget class="SearchUserWidget" name="search_user" native="true">
+          <property name="enabled">
+           <bool>false</bool>
+          </property>
           <property name="sizePolicy">
            <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
             <horstretch>0</horstretch>
diff --git a/src/sakia/gui/transfer.py b/src/sakia/gui/transfer.py
index 4ae914410921a2e7a541956155c10bc3fd93a1a6..80fe8b4d6d05854e9f505ea1d1d10f4729645d59 100644
--- a/src/sakia/gui/transfer.py
+++ b/src/sakia/gui/transfer.py
@@ -62,6 +62,8 @@ class TransferMoneyDialog(QObject):
         self.ui.search_user.init(self.app)
         self.ui.search_user.change_account(self.account)
         self.ui.search_user.change_community(self.community)
+        self.ui.search_user.search_started.connect(lambda: self.ui.button_box.setEnabled(False))
+        self.ui.search_user.search_completed.connect(lambda: self.ui.button_box.setEnabled(True))
 
         regexp = QRegExp('^([ a-zA-Z0-9-_:/;*?\[\]\(\)\\\?!^+=@&~#{}|<>%.]{0,255})$')
         validator = QRegExpValidator(regexp)
diff --git a/src/sakia/gui/widgets/search_user.py b/src/sakia/gui/widgets/search_user.py
index a2aea2012bdb1d9dcd3fa21c3c2dc154a76069b2..6f4a0195e13294bdb5ca850ec9ee2667a8df15d3 100644
--- a/src/sakia/gui/widgets/search_user.py
+++ b/src/sakia/gui/widgets/search_user.py
@@ -15,6 +15,8 @@ class SearchUserWidget(QWidget, Ui_SearchUserWidget):
     _search_placeholder = QT_TRANSLATE_NOOP("SearchUserWidget", "Research a pubkey, an uid...")
 
     identity_selected = pyqtSignal(Identity)
+    search_started = pyqtSignal()
+    search_completed = pyqtSignal()
     reset = pyqtSignal()
 
     def __init__(self, parent):
@@ -60,38 +62,41 @@ class SearchUserWidget(QWidget, Ui_SearchUserWidget):
         """
         Search nodes when return is pressed in combobox lineEdit
         """
+        self.search_started.emit()
         text = self.combobox_search.lineEdit().text()
-
-        if len(text) < 2:
-            return False
-        try:
-            response = await self.community.bma_access.future_request(bma.wot.Lookup, {'search': text})
-
-            nodes = {}
-            for identity in response['results']:
-                nodes[identity['pubkey']] = identity['uids'][0]['uid']
-
-            if nodes:
-                self.nodes = list()
-                self.blockSignals(True)
-                self.combobox_search.clear()
-                self.combobox_search.lineEdit().setText(text)
-                for pubkey, uid in nodes.items():
-                    self.nodes.append({'pubkey': pubkey, 'uid': uid})
-                    self.combobox_search.addItem(uid)
-                self.blockSignals(False)
-                self.combobox_search.showPopup()
-        except errors.DuniterError as e:
-            if e.ucode == errors.NO_MATCHING_IDENTITY:
-                self.nodes = list()
-                self.blockSignals(True)
-                self.combobox_search.clear()
-                self.blockSignals(False)
-                self.combobox_search.showPopup()
-            else:
+        self.combobox_search.lineEdit().clear()
+        self.combobox_search.lineEdit().setPlaceholderText(self.tr("Looking for {0}...".format(text)))
+
+        if len(text) > 2:
+            try:
+                response = await self.community.bma_access.future_request(bma.wot.Lookup, {'search': text})
+
+                nodes = {}
+                for identity in response['results']:
+                    nodes[identity['pubkey']] = identity['uids'][0]['uid']
+
+                if nodes:
+                    self.nodes = list()
+                    self.blockSignals(True)
+                    self.combobox_search.clear()
+                    self.combobox_search.lineEdit().setText(text)
+                    for pubkey, uid in nodes.items():
+                        self.nodes.append({'pubkey': pubkey, 'uid': uid})
+                        self.combobox_search.addItem(uid)
+                    self.blockSignals(False)
+                    self.combobox_search.showPopup()
+            except errors.DuniterError as e:
+                if e.ucode == errors.NO_MATCHING_IDENTITY:
+                    self.nodes = list()
+                    self.blockSignals(True)
+                    self.combobox_search.clear()
+                    self.blockSignals(False)
+                    self.combobox_search.showPopup()
+                else:
+                    pass
+            except NoPeerAvailable:
                 pass
-        except NoPeerAvailable:
-            pass
+        self.search_completed.emit()
 
     def select_node(self, index):
         """