diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c
index 22100f9828267fbb1ddf01a6fea62c86ef776f4e..b3136708d3dc252a8febf06040cc2b8b2459d1e0 100644
--- a/libweston/compositor-fbdev.c
+++ b/libweston/compositor-fbdev.c
@@ -486,11 +486,9 @@ fbdev_output_disable_handler(struct weston_output *base)
 	if (!base->enabled)
 		return 0;
 
+	pixman_renderer_output_destroy(&output->base);
 	fbdev_frame_buffer_unmap(output);
 
-	if (base->renderer_state != NULL)
-		pixman_renderer_output_destroy(base);
-
 	return 0;
 }