diff --git a/src/pulsatingscience.cpp b/src/pulsatingscience.cpp
index cbadc58643ec897365b31ab68c95785ff99426b1..b0a1fe72049a04744b9a55407f7b6a8052c1481a 100644
--- a/src/pulsatingscience.cpp
+++ b/src/pulsatingscience.cpp
@@ -63,6 +63,8 @@ PulsatingScience::PulsatingScience(QWidget *parent) : QMainWindow(parent)
     m_menuBarShortcut->setEnabled(false);
     m_fullscreenShortcut = new QShortcut(ui.actionFullscreen->shortcut(), this);
     m_fullscreenShortcut->setEnabled(false);
+    m_fullscreenESCShortcut = new QShortcut(QKeySequence(Qt::Key_Escape), this);
+    m_fullscreenESCShortcut->setEnabled(false);
 
     // register "hidden" demo mode shortcut for IYA2009 exhibition
     m_hiddenShortcut = new QShortcut(Qt::CTRL + Qt::SHIFT + Qt::ALT + Qt::Key_D, this);
@@ -161,6 +163,11 @@ PulsatingScience::~PulsatingScience()
         delete m_fullscreenShortcut;
     }
 
+    if(m_fullscreenESCShortcut) {
+        m_fullscreenESCShortcut->disconnect();
+        delete m_fullscreenESCShortcut;
+    }
+
     if(m_hiddenShortcut) {
         m_hiddenShortcut->disconnect();
         delete m_hiddenShortcut;
@@ -384,6 +391,9 @@ void PulsatingScience::on_actionFullscreen_toggled(bool checked)
             // keep visibility setting
             m_animControlVisible = true;
         }
+
+        m_fullscreenESCShortcut->setEnabled(true);
+        connect(m_fullscreenESCShortcut, SIGNAL(activated()), this, SLOT(fullscreenToggled()));
     }
     else {
         window()->setWindowState(windowState() & ~Qt::WindowFullScreen);
@@ -393,6 +403,9 @@ void PulsatingScience::on_actionFullscreen_toggled(bool checked)
 #endif
         if(m_statusBarVisible) ui.statusbar->show();
         if(m_animControlVisible && !m_animControlFloating) ui.dockAnimControl->show();
+
+        m_fullscreenESCShortcut->disconnect();
+        m_fullscreenESCShortcut->setEnabled(false);
     }
 }
 
diff --git a/src/pulsatingscience.h b/src/pulsatingscience.h
index 3a8fc396807ba0b4285afbddf06c35d96ba911b5..bfa89df488507e74939125b978f13925eb85d093 100644
--- a/src/pulsatingscience.h
+++ b/src/pulsatingscience.h
@@ -85,6 +85,7 @@ private:
     QShortcut *m_rotationAxesShortcut;
     QShortcut *m_menuBarShortcut;
     QShortcut *m_fullscreenShortcut;
+    QShortcut *m_fullscreenESCShortcut;
     QShortcut *m_hiddenShortcut;
 
     bool m_permanentOrbits;