diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c
index aa7e426..46dbe6c 100644
--- a/libweston/compositor-wayland.c
+++ b/libweston/compositor-wayland.c
@@ -645,10 +645,7 @@
 		wl_egl_window_destroy(output->gl.egl_window);
 	}
 
-	/* Done on output->enable when not fullscreen, otherwise
-	 * done in output_create, to get the proper mode */
-	if (!b->fullscreen)
-		wayland_backend_destroy_output_surface(output);
+	wayland_backend_destroy_output_surface(output);
 
 	if (output->frame)
 		frame_destroy(output->frame);
@@ -665,13 +662,9 @@
 wayland_output_destroy(struct weston_output *base)
 {
 	struct wayland_output *output = to_wayland_output(base);
-	struct wayland_backend *b = to_wayland_backend(base->compositor);
 
 	wayland_output_disable(&output->base);
 
-	if (b->fullscreen)
-		wayland_backend_destroy_output_surface(output);
-
 	weston_output_destroy(&output->base);
 
 	free(output);
@@ -1068,15 +1061,12 @@
 	struct wayland_backend *b = to_wayland_backend(base->compositor);
 	int ret = 0;
 
-
 	weston_log("Creating %dx%d wayland output at (%d, %d)\n",
 		   output->base.current_mode->width,
 		   output->base.current_mode->height,
 		   output->base.x, output->base.y);
 
-	/* If fullscreen was specified, this needs to be done before
-	 * enable to get the proper mode */
-	if (!b->fullscreen)
+	if (!output->parent.surface)
 		ret = wayland_backend_create_output_surface(output);
 
 	if (ret < 0)
@@ -1132,8 +1122,7 @@
 	return 0;
 
 err_output:
-	if (!b->fullscreen)
-		wayland_backend_destroy_output_surface(output);
+	wayland_backend_destroy_output_surface(output);
 
 	return -1;
 }
