diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index f9b2cde57b2734c2cb32fd9904ecbae36775f958..7edd516cafe27e739702a7867808139375370809 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -1538,6 +1538,7 @@ QByteArray EditorManager::saveState() const
 bool EditorManager::restoreState(const QByteArray &state)
 {
     closeAllEditors(true);
+    removeAllSplits();
     QDataStream stream(state);
 
     QByteArray version;
diff --git a/src/plugins/coreplugin/editormanager/editormanager.h b/src/plugins/coreplugin/editormanager/editormanager.h
index fa4b05740e743adb0c2d67308b305516ca7cdd1d..81a1025a4eef5b9763b165a0dcc0ab7673d38360 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.h
+++ b/src/plugins/coreplugin/editormanager/editormanager.h
@@ -208,6 +208,8 @@ private slots:
     void goBackInNavigationHistory();
     void goForwardInNavigationHistory();
     void makeCurrentEditorWritable();
+
+public slots:
     void split(Qt::Orientation orientation);
     void split();
     void splitSideBySide();
diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 1313f7c0306a6cf32f48d98fda9d309a5cc8c3d6..95bd578d9fc1ade933e388c37eab46ddc2d777af 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -346,14 +346,15 @@ bool ProFileEvaluator::Private::parseLine(const QString &line0)
     m_contNextLine = escaped;
     if (escaped) {
         m_proitem.chop(1);
+        updateItem();
         return true;
     } else {
         if (!m_syntaxError) {
             updateItem();
-            if (!m_contNextLine)
-                finalizeBlock();
+            finalizeBlock();
+            return true;
         }
-        return !m_syntaxError;
+        return false;
     }
 }