diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 5211236145d875ce33c5f0cba877630e93af40e7..82a076e81e0d94178e65f1e1ccfc74ff43b74652 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -101,8 +101,6 @@ extern "C" void handleSigInt(int sig)
 using namespace Core;
 using namespace Core::Internal;
 
-static const char *uriListMimeFormatC = "text/uri-list";
-
 enum { debugMainWindow = 0 };
 
 MainWindow::MainWindow() :
@@ -358,7 +356,7 @@ static bool isDesktopFileManagerDrop(const QMimeData *d, QStringList *files = 0)
     if (files)
         files->clear();
     // Extract dropped files from Mime data.
-    if (!d->hasFormat(QLatin1String(uriListMimeFormatC)))
+    if (!d->hasUrls())
         return false;
     const QList<QUrl> urls = d->urls();
     if (urls.empty())
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 3bc8283b1b0a2d8bc761266d8705d133a8f41723..bac82bf82a5dda97f72c6e21629a72bf9503334d 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -3388,6 +3388,17 @@ void BaseTextEditor::keyReleaseEvent(QKeyEvent *e)
     QPlainTextEdit::keyReleaseEvent(e);
 }
 
+void BaseTextEditor::dragEnterEvent(QDragEnterEvent *e)
+{
+    // If the drag event contains URLs, we don't want to insert them as text
+    if (e->mimeData()->hasUrls()) {
+        e->ignore();
+        return;
+    }
+
+    QPlainTextEdit::dragEnterEvent(e);
+}
+
 void BaseTextEditor::extraAreaLeaveEvent(QEvent *)
 {
     // fake missing mouse move event from Qt
diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h
index ba4e9f1003b5263c8dc033c5fdf1c8fc428e560f..e24d73edd2606482f27db59672db96d5cfed5755 100644
--- a/src/plugins/texteditor/basetexteditor.h
+++ b/src/plugins/texteditor/basetexteditor.h
@@ -530,6 +530,8 @@ protected:
     void leaveEvent(QEvent *);
     void keyReleaseEvent(QKeyEvent *);
 
+    void dragEnterEvent(QDragEnterEvent *e);
+
 public:
     // Returns true if key triggers an indent.
     virtual bool isElectricCharacter(const QChar &ch) const;