diff --git a/apps/opencs/view/render/orbitcameramode.cpp b/apps/opencs/view/render/orbitcameramode.cpp
index e6f3612c6..6c4fb1f1e 100644
--- a/apps/opencs/view/render/orbitcameramode.cpp
+++ b/apps/opencs/view/render/orbitcameramode.cpp
@@ -2,22 +2,42 @@
 
 #include <QMenu>
 
+#include "../../model/prefs/shortcut.hpp"
+#include "../../model/prefs/shortcuteventhandler.hpp"
+
 #include "worldspacewidget.hpp"
 
 namespace CSVRender
 {
-    OrbitCameraMode::OrbitCameraMode(WorldspaceWidget* worldspaceWidget, const QIcon& icon, const QString& tooltip,
-        QWidget* parent)
+    OrbitCameraMode::OrbitCameraMode(WorldspaceWidget* worldspaceWidget, CSMPrefs::ShortcutEventHandler* handler,
+        const QIcon& icon, const QString& tooltip, QWidget* parent)
         : ModeButton(icon, tooltip, parent)
         , mWorldspaceWidget(worldspaceWidget)
+        , mShortcutHandler(handler)
         , mCenterOnSelection(0)
     {
+        mCenterShortcut = new CSMPrefs::Shortcut("orbit-center-selection", this);
+        mCenterShortcut->enable(false);
+        mShortcutHandler->addShortcut(mCenterShortcut);
+        connect(mCenterShortcut, SIGNAL(activated()), this, SLOT(centerSelection()));
+    }
+
+    OrbitCameraMode::~OrbitCameraMode()
+    {
+        mShortcutHandler->removeShortcut(mCenterShortcut);
     }
 
     void OrbitCameraMode::activate(CSVWidget::SceneToolbar* toolbar)
     {
-        mCenterOnSelection = new QAction("Center on selected object", this);
+        mCenterOnSelection = new QAction("Center on selected object\t" + mCenterShortcut->toString(), this);
         connect(mCenterOnSelection, SIGNAL(triggered()), this, SLOT(centerSelection()));
+
+        mCenterShortcut->enable(true);
+    }
+
+    void OrbitCameraMode::deactivate(CSVWidget::SceneToolbar* toolbar)
+    {
+        mCenterShortcut->enable(false);
     }
 
     bool OrbitCameraMode::createContextMenu(QMenu* menu)
diff --git a/apps/opencs/view/render/orbitcameramode.hpp b/apps/opencs/view/render/orbitcameramode.hpp
index cd8387084..990999b22 100644
--- a/apps/opencs/view/render/orbitcameramode.hpp
+++ b/apps/opencs/view/render/orbitcameramode.hpp
@@ -3,6 +3,12 @@
 
 #include "../widget/modebutton.hpp"
 
+namespace CSMPrefs
+{
+    class Shortcut;
+    class ShortcutEventHandler;
+}
+
 namespace CSVRender
 {
     class WorldspaceWidget;
@@ -13,16 +19,20 @@ namespace CSVRender
 
         public:
 
-            OrbitCameraMode(WorldspaceWidget* worldspaceWidget, const QIcon& icon, const QString& tooltip = "",
-                QWidget* parent = 0);
+            OrbitCameraMode(WorldspaceWidget* worldspaceWidget, CSMPrefs::ShortcutEventHandler* shortcutHandler,
+                const QIcon& icon, const QString& tooltip = "", QWidget* parent = 0);
+            ~OrbitCameraMode();
 
             virtual void activate(CSVWidget::SceneToolbar* toolbar);
+            virtual void deactivate(CSVWidget::SceneToolbar* toolbar);
             virtual bool createContextMenu(QMenu* menu);
 
         private:
 
             WorldspaceWidget* mWorldspaceWidget;
+            CSMPrefs::ShortcutEventHandler* mShortcutHandler;
             QAction* mCenterOnSelection;
+            CSMPrefs::Shortcut* mCenterShortcut;
 
         private slots:
 
diff --git a/apps/opencs/view/render/worldspacewidget.cpp b/apps/opencs/view/render/worldspacewidget.cpp
index 782dc5354..e1706ca77 100644
--- a/apps/opencs/view/render/worldspacewidget.cpp
+++ b/apps/opencs/view/render/worldspacewidget.cpp
@@ -148,7 +148,7 @@ CSVWidget::SceneToolMode *CSVRender::WorldspaceWidget::makeNavigationSelector (
         "<li>Hold shift to speed up movement</li>"
         "</ul>");
     tool->addButton(
-        new CSVRender::OrbitCameraMode(this, QIcon(":scenetoolbar/orbiting-camera"),
+        new CSVRender::OrbitCameraMode(this, mShortcutHandler, QIcon(":scenetoolbar/orbiting-camera"),
             "Orbiting Camera"
             "<ul><li>Always facing the centre point</li>"
             "<li>Rotate around the centre point via WASD or by moving the mouse while holding the left button</li>"