diff --git a/src/shell.c b/src/shell.c
index 2b61202..4725335 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -73,6 +73,8 @@
 		struct wl_list surfaces;
 		struct weston_process process;
 	} screensaver;
+
+	struct weston_surface *debug_repaint_surface;
 };
 
 enum shell_surface_type {
@@ -1970,6 +1972,41 @@
 }
 
 static void
+debug_repaint_binding(struct wl_input_device *device, uint32_t time,
+		      uint32_t key, uint32_t button, uint32_t state, void *data)
+{
+	struct weston_compositor *compositor = data;
+	struct wl_shell *shell =
+		container_of(compositor->shell, struct wl_shell, shell);
+	struct weston_surface *surface;
+
+	if (shell->debug_repaint_surface) {
+		weston_surface_destroy(shell->debug_repaint_surface);
+		shell->debug_repaint_surface = NULL;
+	} else {
+		surface = weston_surface_create(compositor);
+		weston_surface_set_color(surface, 1.0, 0.0, 0.0, 0.2);
+		weston_surface_configure(surface, 0, 0, 8192, 8192);
+		wl_list_insert(&compositor->fade_layer.surface_list,
+			       &surface->layer_link);
+		weston_surface_assign_output(surface);
+		pixman_region32_init(&surface->input);
+
+		/* Here's the dirty little trick that makes the
+		 * repaint debugging work: we force an
+		 * update_transform first to update dependent state
+		 * and clear the geometry.dirty bit.  Then we clear
+		 * the surface damage so it only gets repainted
+		 * piecewise as we repaint other things.  */
+
+		weston_surface_update_transform(surface);
+		pixman_region32_fini(&surface->damage);
+		pixman_region32_init(&surface->damage);
+		shell->debug_repaint_surface = surface;
+	}
+}
+
+static void
 shell_destroy(struct weston_shell *base)
 {
 	struct wl_shell *shell = container_of(base, struct wl_shell, shell);
@@ -2060,6 +2097,9 @@
 	weston_compositor_add_binding(ec, KEY_BRIGHTNESSUP, 0, 0,
 				      backlight_binding, ec);
 
+	weston_compositor_add_binding(ec, KEY_SPACE, 0, MODIFIER_SUPER,
+				    debug_repaint_binding, ec);
+
 	ec->shell = &shell->shell;
 
 	return 0;
