diff --git a/src/screenshot-application.c b/src/screenshot-application.c
index 791bb9c..131c57a 100644
--- a/src/screenshot-application.c
+++ b/src/screenshot-application.c
@@ -407,6 +407,8 @@ static void
 screenshot_dialog_response_cb (ScreenshotResponse response,
                                ScreenshotApplication *self)
 {
+  ScreenshotDialog *dialog = self->priv->dialog;
+
   switch (response)
     {
     case SCREENSHOT_RESPONSE_SAVE:
@@ -415,9 +417,18 @@ screenshot_dialog_response_cb (ScreenshotResponse response,
       self->priv->save_uri = screenshot_dialog_get_uri (self->priv->dialog);
       screenshot_save_to_file (self);
       break;
+
     case SCREENSHOT_RESPONSE_COPY:
       screenshot_save_to_clipboard (self);
       break;
+
+    case SCREENSHOT_RESPONSE_BACK:
+      gtk_widget_destroy (dialog->dialog);
+      g_free (dialog);
+
+      screenshot_show_interactive_dialog (self);
+      break;
+
     default:
       g_assert_not_reached ();
       break;
diff --git a/src/screenshot-dialog.c b/src/screenshot-dialog.c
index fd0cbdc..90ad6b1 100644
--- a/src/screenshot-dialog.c
+++ b/src/screenshot-dialog.c
@@ -143,8 +143,12 @@ button_clicked (GtkWidget *button, ScreenshotDialog *dialog)
 {
   ScreenshotResponse res;
 
-  res = (button == dialog->save_button) ? SCREENSHOT_RESPONSE_SAVE
-                                        : SCREENSHOT_RESPONSE_COPY;
+  if (button == dialog->save_button)
+    res = SCREENSHOT_RESPONSE_SAVE;
+  else if (button == dialog->copy_button)
+    res = SCREENSHOT_RESPONSE_COPY;
+  else
+    res = SCREENSHOT_RESPONSE_BACK;
 
   dialog->callback (res, dialog->user_data);
 }
@@ -242,6 +246,8 @@ screenshot_dialog_new (GdkPixbuf              *screenshot,
   g_signal_connect (dialog->save_button, "clicked", G_CALLBACK (button_clicked), dialog);
   dialog->copy_button = GTK_WIDGET (gtk_builder_get_object (ui, "copy_button"));
   g_signal_connect (dialog->copy_button, "clicked", G_CALLBACK (button_clicked), dialog);
+  dialog->back_button = GTK_WIDGET (gtk_builder_get_object (ui, "back_button"));
+  g_signal_connect (dialog->back_button, "clicked", G_CALLBACK (button_clicked), dialog);
 
   setup_drawing_area (dialog, ui);
 
diff --git a/src/screenshot-dialog.h b/src/screenshot-dialog.h
index 45b0641..7ed1d9e 100644
--- a/src/screenshot-dialog.h
+++ b/src/screenshot-dialog.h
@@ -24,7 +24,8 @@
 
 typedef enum {
   SCREENSHOT_RESPONSE_SAVE,
-  SCREENSHOT_RESPONSE_COPY
+  SCREENSHOT_RESPONSE_COPY,
+  SCREENSHOT_RESPONSE_BACK
 } ScreenshotResponse;
 
 typedef void (*SaveScreenshotCallback) (ScreenshotResponse response, gpointer *user_data);
@@ -38,6 +39,7 @@ typedef struct {
   GtkWidget *filename_entry;
   GtkWidget *save_button;
   GtkWidget *copy_button;
+  GtkWidget *back_button;
 
   gint drag_x;
   gint drag_y;
diff --git a/src/screenshot-dialog.ui b/src/screenshot-dialog.ui
index 01461d7..ac4e66c 100644
--- a/src/screenshot-dialog.ui
+++ b/src/screenshot-dialog.ui
@@ -13,6 +13,26 @@
         <property name="can_focus">False</property>
         <property name="show_close_button">True</property>
         <child>
+          <object class="GtkButton" id="back_button">
+            <property name="valign">center</property>
+            <property name="can_focus">True</property>
+            <property name="tooltip-text" translatable="yes">Take the screenshot again</property>
+            <style>
+              <class name="image-button"/>
+            </style>
+            <child>
+              <object class="GtkImage" id="back_button_image">
+                <property name="visible">True</property>
+                <property name="icon_name">go-previous-symbolic</property>
+                <property name="icon_size">1</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="pack_type">start</property>
+          </packing>
+        </child>
+        <child>
           <object class="GtkButton" id="copy_button">
             <property name="label" translatable="yes">C_opy to Clipboard</property>
             <property name="visible">True</property>
