--- tools/udisksctl.c
+++ tools/udisksctl.c
@@ -229,8 +229,8 @@
     }
   else
     {
-      fclose (stdout);
-      stdout = _color_pager_out;
+      fflush (stdout);
+      dup2 (fileno(_color_pager_out), fileno(stdout));
     }
 
  out:
