diff --git a/src/roster_window.py b/src/roster_window.py
index f48adcc7c651e415f9bf49088ec8b6de1eb28ea6..2ea8e106ec2639745d2264e4045717d6ea34ebef 100644
--- a/src/roster_window.py
+++ b/src/roster_window.py
@@ -2484,6 +2484,7 @@ _('If "%s" accepts this request you will know his or her status.') % jid)
 		account = model[iter][C_ACCOUNT].decode('utf-8')
 		jid = model[iter][C_JID].decode('utf-8')
 		type = model[iter][C_TYPE]
+		model[iter][C_EDITABLE] = False
 		if type in ('contact', 'agent'):
 			old_text = gajim.contacts.get_contact_with_highest_priority(account,
 				jid).name
@@ -2517,7 +2518,6 @@ _('If "%s" accepts this request you will know his or her status.') % jid)
 					self.add_contact_to_roster(contact.jid, account)
 					gajim.connections[account].update_contact(contact.jid,
 						contact.name, contact.groups)
-		model[iter][C_EDITABLE] = False
 
 	def on_service_disco_menuitem_activate(self, widget, account):
 		server_jid = gajim.config.get_per('accounts', account, 'hostname')