diff --git a/src/dialogs.py b/src/dialogs.py
index 2cf0e66f0833569a7ec950d395940dd3a752941b..0173bc2176cc7d21cc6e09cc2c5ca91ca140b88e 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -947,6 +947,7 @@ class AddNewContactWindow:
         liststore = gtk.ListStore(str)
         self.protocol_jid_combobox.set_model(liststore)
         if jid:
+            self.jid_escaped = True
             type_ = gajim.get_transport_name_from_jid(jid)
             if not type_:
                 type_ = 'jabber'
@@ -981,6 +982,7 @@ class AddNewContactWindow:
                 self.nickname_entry.set_text(user_nick)
             self.nickname_entry.grab_focus()
         else:
+            self.jid_escaped = False
             self.uid_entry.grab_focus()
         group_names = []
         for acct in accounts:
@@ -1055,7 +1057,7 @@ class AddNewContactWindow:
         model = self.protocol_combobox.get_model()
         iter_ = self.protocol_combobox.get_active_iter()
         type_ = model[iter_][2]
-        if type_ != 'jabber':
+        if type_ != 'jabber' and not self.jid_escaped:
             transport = self.protocol_jid_combobox.get_active_text().decode(
                 'utf-8')
             if self.account: