diff --git a/cli_classic.c b/cli_classic.c
index a0c2d64..a32d55b 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -338,8 +338,7 @@
 	if (logfile && check_filename(logfile, "log"))
 		cli_classic_abort_usage();
 	if (logfile && open_logfile(logfile))
-		return 1;
-	free(logfile);
+		cli_classic_abort_usage();
 #endif /* !STANDALONE */
 
 #if CONFIG_PRINT_WIKI == 1
@@ -522,8 +521,6 @@
 	 */
 	programmer_delay(100000);
 	ret |= doit(fill_flash, force, filename, read_it, write_it, erase_it, verify_it);
-	/* Note: doit() already calls programmer_shutdown(). */
-	goto out;
 
 out_shutdown:
 	programmer_shutdown();
@@ -539,6 +536,7 @@
 	free((char *)chip_to_probe); /* Silence! Freeing is not modifying contents. */
 	chip_to_probe = NULL;
 #ifndef STANDALONE
+	free(logfile);
 	ret |= close_logfile();
 #endif /* !STANDALONE */
 	return ret;
diff --git a/flashrom.c b/flashrom.c
index 23728f6..c20461a 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -413,6 +413,11 @@
 	return ret;
 }
 
+/** Calls registered shutdown functions and resets internal programmer-related variables.
+ * Calling it is safe even without previous initialization, but further interactions with programmer support
+ * require a call to programmer_init() (afterwards).
+ *
+ * @return The OR-ed result values of all shutdown functions (i.e. 0 on success). */
 int programmer_shutdown(void)
 {
 	int ret = 0;
@@ -1913,14 +1918,12 @@
 
 	if (chip_safety_check(flash, force, read_it, write_it, erase_it, verify_it)) {
 		msg_cerr("Aborting.\n");
-		ret = 1;
-		goto out_nofree;
+		return 1;
 	}
 
 	if (normalize_romentries(flash)) {
 		msg_cerr("Requested regions can not be handled. Aborting.\n");
-		ret = 1;
-		goto out_nofree;
+		return 1;
 	}
 
 	/* Given the existence of read locks, we want to unlock for read,
@@ -1930,8 +1933,7 @@
 		flash->chip->unlock(flash);
 
 	if (read_it) {
-		ret = read_flash_to_file(flash, filename);
-		goto out_nofree;
+		return read_flash_to_file(flash, filename);
 	}
 
 	oldcontents = malloc(size);
@@ -2048,7 +2050,5 @@
 out:
 	free(oldcontents);
 	free(newcontents);
-out_nofree:
-	programmer_shutdown();
 	return ret;
 }
