diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index 39271a21675ef9e4a144e7a9f3ea5df234dc58da..21f032904c7e670a1fd600ed3cbd5fa2280b8fc4 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -1201,10 +1201,12 @@ IEditor *EditorManager::openEditorWithContents(const QString &editorKind,
 
     QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
     IEditor *edt = createEditor(editorKind);
-    if (!edt)
+    if (!edt) {
+        QApplication::restoreOverrideCursor();
         return 0;
+    }
 
-    if (!edt || !edt->createNew(contents)) {
+    if (!edt->createNew(contents)) {
         QApplication::restoreOverrideCursor();
         delete edt;
         edt = 0;