diff --git a/src/gcm-print.c b/src/gcm-print.c
index 9fd8c7d..6cbebe1 100644
--- a/src/gcm-print.c
+++ b/src/gcm-print.c
@@ -251,6 +251,9 @@ gcm_print_with_render_callback (GcmPrint *print, GtkWindow *window, GcmPrintRend
 	/* we want to be able to use custom page sizes */
 	gtk_print_operation_set_embed_page_setup (operation, TRUE);
 
+	/* Run async if we can and use our own mainloop */
+	gtk_print_operation_set_allow_async (operation, TRUE);
+
 	/* do the print UI */
 	res = gtk_print_operation_run (operation,
 				       GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG,
