diff --git a/src/gui_qt/lib/mdiarea.py b/src/gui_qt/lib/mdiarea.py
index 3dd6bbf..3338fdb 100644
--- a/src/gui_qt/lib/mdiarea.py
+++ b/src/gui_qt/lib/mdiarea.py
@@ -7,8 +7,11 @@ from ..graphs.graphwindow import QGraphWindow
 
 
 class MdiAreaTile(QtWidgets.QMdiArea):
+    newData = QtCore.pyqtSignal(list)
+
     def __init__(self, parent=None):
         super().__init__(parent=parent)
+        self.setAcceptDrops(True)
 
     def tileSubWindowsVertically(self):
         window_list = self.subWindowList()
@@ -47,3 +50,8 @@ class MdiAreaTile(QtWidgets.QMdiArea):
             if isinstance(wdgt, QGraphWindow) and wdgt.id == key:
                 self.setActiveSubWindow(win)
                 break
+
+    def dropEvent(self, evt):
+        if evt.mimeData().hasUrls():
+            files = [str(url.toLocalFile()) for url in evt.mimeData().urls()]
+            self.newData.emit(files)
diff --git a/src/gui_qt/main/mainwindow.py b/src/gui_qt/main/mainwindow.py
index 0ec24a3..a8ffa40 100644
--- a/src/gui_qt/main/mainwindow.py
+++ b/src/gui_qt/main/mainwindow.py
@@ -108,7 +108,7 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
         self.fitlim_button.setIcon(get_icon('fit_region'))
         self.toolBar_fit.addWidget(self.fitlim_button)
 
-        self.area.dragEnterEvent = self.dragEnterEvent
+        # self.area.dragEnterEvent = self.dragEnterEvent
 
         while self.tabWidget.count() > 2:
             self.tabWidget.removeTab(self.tabWidget.count()-1)
@@ -201,6 +201,8 @@ class NMRMainWindow(QtWidgets.QMainWindow, Ui_BaseWindow):
         self.management.unset_state.connect(lambda x: self.datawidget.uncheck_sets(x))
         self.management.fitFinished.connect(self.show_fit_results)
 
+        self.area.newData.connect(lambda x: self.management.load_files(x))
+
         self.fit_dialog._management = self.management
         self.fit_dialog.preview_emit.connect(self.show_fit_preview)
         self.fit_dialog.fitStartSig.connect(self.start_fit)