diff --git a/gajim/chat_control_base.py b/gajim/chat_control_base.py
index 7b04bc7c7871bfe30f36773da741ef431892e25f..73d2a3ba817c8f3281281a74fffab3862e158ce0 100644
--- a/gajim/chat_control_base.py
+++ b/gajim/chat_control_base.py
@@ -145,6 +145,10 @@ def __init__(self, parent_win, widget_name, contact, acct,
         # Drag and drop
         self.xml.overlay.add_overlay(self.xml.drop_area)
         self.xml.drop_area.hide()
+        self.xml.overlay.connect(
+            'drag-data-received', self._on_drag_data_received)
+        self.xml.overlay.connect('drag-motion', self._on_drag_motion)
+        self.xml.overlay.connect('drag-leave', self._on_drag_leave)
 
         self.TARGET_TYPE_URI_LIST = 80
         uri_entry = Gtk.TargetEntry.new(
diff --git a/gajim/data/gui/chat_control.ui b/gajim/data/gui/chat_control.ui
index 82062ed1c220b0ac50b7c4d7f918d33b7c52614c..59938c1ee6fed5f74c9895d4660f06bce6c2e1ac 100644
--- a/gajim/data/gui/chat_control.ui
+++ b/gajim/data/gui/chat_control.ui
@@ -398,9 +398,6 @@
       <object class="GtkOverlay" id="overlay">
         <property name="visible">True</property>
         <property name="can_focus">False</property>
-        <signal name="drag-data-received" handler="_on_drag_data_received" swapped="no"/>
-        <signal name="drag-leave" handler="_on_drag_leave" swapped="no"/>
-        <signal name="drag-motion" handler="_on_drag_motion" swapped="no"/>
         <child>
           <object class="GtkPaned" id="paned1">
             <property name="visible">True</property>