diff --git a/src/chat_control.py b/src/chat_control.py
index ba01a9846c62b6a7496a085bbaa39a37e2e9c13c..9f38b7676e0d0421907bf05bcac835571f2929be 100644
--- a/src/chat_control.py
+++ b/src/chat_control.py
@@ -469,7 +469,6 @@ class ChatControlBase(MessageControl, ChatCommandProcessor, CommandTools):
         self.user_nick = None
 
         self.smooth = True
-        self.msg_textview.grab_focus()
 
         self.command_hits = []
         self.last_key_tabs = False
diff --git a/src/groupchat_control.py b/src/groupchat_control.py
index 9581124f39f2a3222f88f3e952c1af8c3ccd9058..541f9bb40eb2a752c8cda3cc0a03010c8016437d 100644
--- a/src/groupchat_control.py
+++ b/src/groupchat_control.py
@@ -1307,7 +1307,6 @@ class GroupchatControl(ChatControlBase):
         self._update_banner_state_image()
         if self.parent_win:
             self.parent_win.redraw_tab(self)
-        gobject.idle_add(self.msg_textview.grab_focus)
 
     def got_disconnected(self):
         self.list_treeview.set_model(None)
diff --git a/src/message_window.py b/src/message_window.py
index c46d629e733d33d7d1249478f1d97c70da07f728..57d4cc5bdaeb2809917dce9eb0b0344cab91bbd1 100644
--- a/src/message_window.py
+++ b/src/message_window.py
@@ -307,7 +307,6 @@ class MessageWindow(object):
         # NOTE: we do not call set_control_active(True) since we don't know
         # whether the tab is the active one.
         self.show_title()
-        gobject.idle_add(control.msg_textview.grab_focus)
 
     def on_tab_eventbox_button_press_event(self, widget, event, child):
         if event.button == 3: # right click