diff --git a/src/dialogs/ImageOverlay.cpp b/src/dialogs/ImageOverlay.cpp
index f38b29f59c1326a473476bb0d919d634bf4fc9c6..0a3777f0b7bf5b95ce7d02c09c6621fd5c62686f 100644
--- a/src/dialogs/ImageOverlay.cpp
+++ b/src/dialogs/ImageOverlay.cpp
@@ -31,6 +31,8 @@ ImageOverlay::ImageOverlay(QPixmap image, QWidget *parent)
 
         connect(this, SIGNAL(closing()), this, SLOT(close()));
 
+        close_shortcut_ = new QShortcut(QKeySequence(Qt::Key_Escape), this, SLOT(close()));
+
         raise();
 }
 
diff --git a/src/dialogs/ImageOverlay.h b/src/dialogs/ImageOverlay.h
index 93b6afdc16da246ee0c013e15288465413d1edf4..9d4187bf83c29b32c937cfdf58c89baa78bb8827 100644
--- a/src/dialogs/ImageOverlay.h
+++ b/src/dialogs/ImageOverlay.h
@@ -8,6 +8,7 @@
 #include <QDialog>
 #include <QMouseEvent>
 #include <QPixmap>
+#include <QShortcut>
 
 namespace dialogs {
 
@@ -32,5 +33,6 @@ private:
         QRect content_;
         QRect close_button_;
         QRect save_button_;
+        QShortcut *close_shortcut_;
 };
 } // dialogs