Index: uspace/app/sysinst/sysinst.c
===================================================================
--- uspace/app/sysinst/sysinst.c	(revision 0cec807a39bf4d6cc05516ce511514c9c291023d)
+++ uspace/app/sysinst/sysinst.c	(revision 47a12320dedc07bac05596929ea13ab41eb1f58f)
@@ -158,4 +158,5 @@
 static void sysinst_futil_create_dir(void *, const char *);
 static errno_t sysinst_eject_dev(sysinst_t *, service_id_t);
+static errno_t sysinst_eject_phys_by_mp(sysinst_t *, const char *);
 
 static futil_cb_t sysinst_futil_cb = {
@@ -272,4 +273,6 @@
 	case 0:
 		/* OK */
+		sysinst_action(sysinst, "Ejecting installation media.");
+		(void)sysinst_eject_phys_by_mp(sysinst, CD_MOUNT_POINT);
 		(void)sysinst_restart(sysinst);
 		break;
@@ -897,4 +900,7 @@
 	errno_t rc;
 
+	log_msg(LOG_DEFAULT, LVL_NOTE,
+	    "sysinst_eject_phys_by_mp(%s)", path);
+
 	rc = vol_create(&vol);
 	if (rc != EOK) {
@@ -940,4 +946,6 @@
 	shutdown_failed = false;
 
+	sysinst_action(sysinst, "Restarting the system.");
+
 	rc = system_open(SYSTEM_DEFAULT, &sysinst_system_cb, NULL, &system);
 	if (rc != EOK) {
@@ -1023,9 +1031,4 @@
 	sysinst_action(sysinst, "Installing boot blocks.");
 	rc = sysinst_copy_boot_blocks(sysinst, dev);
-	if (rc != EOK)
-		return rc;
-
-	sysinst_action(sysinst, "Ejecting installation media.");
-	rc = sysinst_eject_phys_by_mp(sysinst, CD_MOUNT_POINT);
 	if (rc != EOK)
 		return rc;
@@ -1070,4 +1073,6 @@
 
 	sysinst_progress_destroy(sysinst->progress);
+	sysinst->progress = NULL;
+
 	rc = sysinst_restart_dlg_create(sysinst);
 	if (rc != EOK)
@@ -1248,4 +1253,6 @@
 static void sysinst_action(sysinst_t *sysinst, const char *action)
 {
+	log_msg(LOG_DEFAULT, LVL_NOTE, "%s", action);
+
 	if (sysinst->progress == NULL)
 		return;
@@ -1253,5 +1260,4 @@
 	ui_label_set_text(sysinst->progress->action, action);
 	ui_label_paint(sysinst->progress->action);
-	log_msg(LOG_DEFAULT, LVL_NOTE, "%s", action);
 }
 
