diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index f003a62019cdd6412e51b1fa36a740849a26bc64..8badefeb9a8237e99b978fb504b2a9322a5a03d3 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -1358,7 +1358,7 @@ QList<IEditor*> EditorManager::editorHistory() const
     return m_d->m_editorHistory;
 }
 
-void EditorManager::addCurrentPositionToNavigationHistory(const QByteArray &saveState)
+void EditorManager::addCurrentPositionToNavigationHistory(const QByteArray &saveState, bool compress)
 {
     IEditor *editor = currentEditor();
     if (!editor)
@@ -1367,14 +1367,11 @@ void EditorManager::addCurrentPositionToNavigationHistory(const QByteArray &save
         return;
     
     QString fileName = editor->file()->fileName();
-    bool compress;
     QByteArray state;
     if (saveState.isNull()) {
         state = editor->saveState();
-        compress = false;
     } else {
         state = saveState;
-        compress = true;
     }
     // cut existing
     int firstIndexToRemove;
diff --git a/src/plugins/coreplugin/editormanager/editormanager.h b/src/plugins/coreplugin/editormanager/editormanager.h
index 46eb010f47ca599f0e21a27cee5041bb648dcc56..75c7e28cc34fc860d905327fcab0183ebd559b95 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.h
+++ b/src/plugins/coreplugin/editormanager/editormanager.h
@@ -132,7 +132,7 @@ public:
     QList<IEditor*> editorsForFiles(QList<IFile*> files) const;
     //QList<EditorGroup *> editorGroups() const;
     QList<IEditor*> editorHistory() const;
-    void addCurrentPositionToNavigationHistory(const QByteArray &saveState = QByteArray());
+    void addCurrentPositionToNavigationHistory(const QByteArray &saveState = QByteArray(), bool compress = false);
 
     bool saveEditor(IEditor *editor);
 
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 3ad5b89f24f71e823304605dfba4f7ae469a8c17..6574d416310a5e2691c92f9c4be52a7be3ba3928 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -961,6 +961,7 @@ void BaseTextEditor::setTextCursor(const QTextCursor &cursor)
 
 void BaseTextEditor::gotoLine(int line, int column)
 {
+    d->m_lastCursorChangeWasInteresting = false; // avoid adding the previous position to history
     const int blockNumber = line - 1;
     const QTextBlock &block = document()->findBlockByNumber(blockNumber);
     if (block.isValid()) {