Index: uspace/app/sysinst/sysinst.c
===================================================================
--- uspace/app/sysinst/sysinst.c	(revision 21cd0c86553c79b767ebc1dd120265b9c2b5f69c)
+++ uspace/app/sysinst/sysinst.c	(revision 0cec807a39bf4d6cc05516ce511514c9c291023d)
@@ -592,6 +592,9 @@
 	rc = futil_rcopy_contents(sysinst->futil, CFG_FILES_SRC,
 	    CFG_FILES_DEST);
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		sysinst_error(sysinst, "Error copying initial configuration "
+		    "files.");
+		return rc;
+	}
 
 	return EOK;
@@ -613,6 +616,9 @@
 	    "sysinst_copy_boot_files(): copy bootloader files");
 	rc = futil_rcopy_contents(sysinst->futil, BOOT_FILES_SRC, MOUNT_POINT);
-	if (rc != EOK)
-		return rc;
+	if (rc != EOK) {
+		sysinst_error(sysinst, "Error copying bootloader "
+		    "files.");
+		return rc;
+	}
 
 	sysinst_debug(sysinst, "sysinst_copy_boot_files(): OK");
@@ -983,4 +989,5 @@
 {
 	errno_t rc;
+	bool clean_dev = false;
 
 	sysinst_action(sysinst, "Creating device label and file system.");
@@ -988,25 +995,29 @@
 	rc = sysinst_label_dev(sysinst, dev);
 	if (rc != EOK)
-		return rc;
+		goto error;
+
+	clean_dev = true;
 
 	sysinst_action(sysinst, "Creating system directory structure.");
 	rc = sysinst_setup_sysvol(sysinst);
 	if (rc != EOK)
-		return rc;
+		goto error;
 
 	sysinst_action(sysinst, "Copying boot files.");
 	rc = sysinst_copy_boot_files(sysinst);
 	if (rc != EOK)
-		return rc;
+		goto error;
 
 	sysinst_action(sysinst, "Configuring the system.");
 	rc = sysinst_customize_initrd(sysinst);
 	if (rc != EOK)
-		return rc;
+		goto error;
 
 	sysinst_action(sysinst, "Finishing system volume.");
 	rc = sysinst_finish_dev(sysinst);
 	if (rc != EOK)
-		return rc;
+		goto error;
+
+	clean_dev = false;
 
 	sysinst_action(sysinst, "Installing boot blocks.");
@@ -1021,4 +1032,8 @@
 
 	return EOK;
+error:
+	if (clean_dev)
+		(void)sysinst_finish_dev(sysinst);
+	return rc;
 }
 
