diff --git a/src/plugins/bineditor/bineditor.cpp b/src/plugins/bineditor/bineditor.cpp
index 2695bf0c903e51f962be2460a74b1e94d2875112..69396c7cc186023c14d44eeeb42d1820d3ccb4a5 100644
--- a/src/plugins/bineditor/bineditor.cpp
+++ b/src/plugins/bineditor/bineditor.cpp
@@ -1302,20 +1302,22 @@ void BinEditor::keyPressEvent(QKeyEvent *e)
         setCursorPosition((verticalScrollBar()->value() + line) * m_bytesPerLine + m_cursorPosition % m_bytesPerLine, moveMode);
     } break;
 
-    case Qt::Key_Home:
-        if (e->modifiers() & Qt::ControlModifier) {
-            emit startOfFileRequested(editor());
-        } else {
-            setCursorPosition(m_cursorPosition/m_bytesPerLine * m_bytesPerLine, moveMode);
-        }
-        break;
-    case Qt::Key_End:
-        if (e->modifiers() & Qt::ControlModifier) {
-            emit endOfFileRequested(editor());
-        } else {
-            setCursorPosition(m_cursorPosition/m_bytesPerLine * m_bytesPerLine + 15, moveMode);
-        }
-        break;
+    case Qt::Key_Home: {
+        int pos;
+        if (e->modifiers() & Qt::ControlModifier)
+            pos = 0;
+        else
+            pos = m_cursorPosition/m_bytesPerLine * m_bytesPerLine;
+        setCursorPosition(pos, moveMode);
+    } break;
+    case Qt::Key_End: {
+        int pos;
+        if (e->modifiers() & Qt::ControlModifier)
+            pos = m_size;
+        else
+            pos = m_cursorPosition/m_bytesPerLine * m_bytesPerLine + 15;
+        setCursorPosition(pos, moveMode);
+    } break;
     default:
         if (m_readOnly)
             break;
diff --git a/src/plugins/bineditor/bineditor.h b/src/plugins/bineditor/bineditor.h
index 5e3416114a1fb34de7da9c62c1bf980f77c556ed..671f85e72c686ef87ca7c68cb435401f19b996f6 100644
--- a/src/plugins/bineditor/bineditor.h
+++ b/src/plugins/bineditor/bineditor.h
@@ -142,8 +142,6 @@ Q_SIGNALS:
     void newWindowRequested(quint64 address);
     void newRangeRequested(Core::IEditor *, quint64 address);
     void addWatchpointRequested(quint64 address, uint size);
-    void startOfFileRequested(Core::IEditor *);
-    void endOfFileRequested(Core::IEditor *);
     void dataChanged(Core::IEditor *, quint64 address, const QByteArray &data);
 
 protected:
diff --git a/src/plugins/bineditor/bineditorplugin.cpp b/src/plugins/bineditor/bineditorplugin.cpp
index 8bc09c73bf7a00cdb828b8f6725c03f0d6fd2277..0eaebaa27669c2d7e705375a5fe0a6c9169477a6 100644
--- a/src/plugins/bineditor/bineditorplugin.cpp
+++ b/src/plugins/bineditor/bineditorplugin.cpp
@@ -187,10 +187,6 @@ public:
             this, SLOT(provideData(Core::IEditor*,quint64)));
         connect(m_editor, SIGNAL(newRangeRequested(Core::IEditor*,quint64)),
             this, SLOT(provideNewRange(Core::IEditor*,quint64)));
-        connect(m_editor, SIGNAL(startOfFileRequested(Core::IEditor*)), this,
-            SLOT(handleStartOfFileRequested(Core::IEditor*)));
-        connect(m_editor, SIGNAL(endOfFileRequested(Core::IEditor*)), this,
-            SLOT(handleEndOfFileRequested(Core::IEditor*)));
     }
     ~BinEditorDocument() {}
 
@@ -273,14 +269,6 @@ private slots:
         open(0, m_fileName, offset);
     }
 
-    void handleStartOfFileRequested(Core::IEditor *) {
-        open(0, m_fileName, 0);
-    }
-
-    void handleEndOfFileRequested(Core::IEditor *) {
-        open(0, m_fileName, QFileInfo(m_fileName).size() - 1);
-    }
-
 public:
 
     void setFilename(const QString &filename) {
diff --git a/src/plugins/debugger/memoryagent.cpp b/src/plugins/debugger/memoryagent.cpp
index 82625f358998e863fe568b3a90d5e6e90c144111..678b0a4bc10ac2f3e0d2da07ae98fb38317989e6 100644
--- a/src/plugins/debugger/memoryagent.cpp
+++ b/src/plugins/debugger/memoryagent.cpp
@@ -140,12 +140,6 @@ void MemoryAgent::connectBinEditorWidget(QWidget *w)
     connect(w,
         SIGNAL(newRangeRequested(Core::IEditor*,quint64)),
         SLOT(provideNewRange(Core::IEditor*,quint64)));
-    connect(w,
-        SIGNAL(startOfFileRequested(Core::IEditor*)),
-        SLOT(handleStartOfFileRequested(Core::IEditor*)));
-    connect(w,
-        SIGNAL(endOfFileRequested(Core::IEditor*)),
-        SLOT(handleEndOfFileRequested(Core::IEditor*)));
     connect(w,
         SIGNAL(dataChanged(Core::IEditor*,quint64,QByteArray)),
         SLOT(handleDataChanged(Core::IEditor*,quint64,QByteArray)));
@@ -250,23 +244,6 @@ void MemoryAgent::provideNewRange(IEditor *, quint64 address)
     MemoryView::setBinEditorRange(w, address, DataRange, BinBlockSize);
 }
 
-// Since we are not dealing with files, we take these signals to mean
-// "move to start/end of range". This seems to make more sense than
-// jumping to the start or end of the address space, respectively.
-void MemoryAgent::handleStartOfFileRequested(IEditor *)
-{
-    QWidget *w = qobject_cast<QWidget *>(sender());
-    QTC_ASSERT(w, return);
-    MemoryView::binEditorSetCursorPosition(w, 0);
-}
-
-void MemoryAgent::handleEndOfFileRequested(IEditor *)
-{
-    QWidget *w = qobject_cast<QWidget *>(sender());
-    QTC_ASSERT(w, return);
-    MemoryView::binEditorSetCursorPosition(w, DataRange - 1);
-}
-
 void MemoryAgent::handleDataChanged(IEditor *,
     quint64 addr, const QByteArray &data)
 {
diff --git a/src/plugins/debugger/memoryagent.h b/src/plugins/debugger/memoryagent.h
index 217f31ec354788a9c5bf02e008be09bd0680820a..6ecad1968a058e1cc3af2021426b401ecb95ebba 100644
--- a/src/plugins/debugger/memoryagent.h
+++ b/src/plugins/debugger/memoryagent.h
@@ -99,8 +99,6 @@ public slots:
 private slots:
     void fetchLazyData(Core::IEditor *, quint64 block);
     void provideNewRange(Core::IEditor *editor, quint64 address);
-    void handleStartOfFileRequested(Core::IEditor *editor);
-    void handleEndOfFileRequested(Core::IEditor *editor);
     void handleDataChanged(Core::IEditor *editor, quint64 address,
         const QByteArray &data);
     void handleWatchpointRequest(quint64 address, uint size);