diff --git a/cli_classic.c b/cli_classic.c
index 711db5b..2f16ef6 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -97,16 +97,6 @@
 	}
 }
 
-/* Ensure a file is open by means of fstat */
-static bool check_file(FILE *file)
-{
-	struct stat statbuf;
-
-	if (fstat(fileno(file), &statbuf) < 0)
-		return false;
-	return true;
-}
-
 static int do_read(struct flashctx *const flash, const char *const filename)
 {
 	int ret;
@@ -252,22 +242,7 @@
 	struct layout_args layout_args = { 0 };
 	struct layout_include_args *include_args = NULL;
 
-	/*
-	 * Safety-guard against a user who has (mistakenly) closed
-	 * stdout or stderr before exec'ing flashprog.  We disable
-	 * logging in this case to prevent writing log data to a flash
-	 * chip when a flash device gets opened with fd 1 or 2.
-	 */
-	if (check_file(stdout) && check_file(stderr)) {
-		flashprog_set_log_callback(
-			(flashprog_log_callback *)&flashprog_print_cb);
-	}
-
-	print_version();
-	print_banner();
-
-	/* FIXME: Delay calibration should happen in programmer code. */
-	if (flashprog_init(1))
+	if (cli_init())
 		exit(1);
 
 	setbuf(stdout, NULL);
diff --git a/cli_common.c b/cli_common.c
index d041bc1..8be6981 100644
--- a/cli_common.c
+++ b/cli_common.c
@@ -16,6 +16,7 @@
  * GNU General Public License for more details.
  */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <sys/stat.h>
@@ -35,6 +36,34 @@
 	return 0;
 }
 
+/* Ensure a file is open by means of fstat */
+static bool cli_check_file(FILE *file)
+{
+	struct stat statbuf;
+
+	if (fstat(fileno(file), &statbuf) < 0)
+		return false;
+	return true;
+}
+
+int cli_init(void)
+{
+	/*
+	 * Safety-guard against a user who has (mistakenly) closed
+	 * stdout or stderr before exec'ing flashprog.  We disable
+	 * logging in this case to prevent writing log data to a flash
+	 * chip when a flash device gets opened with fd 1 or 2.
+	 */
+	if (cli_check_file(stdout) && cli_check_file(stderr)) {
+		flashprog_set_log_callback((flashprog_log_callback *)&flashprog_print_cb);
+	}
+
+	print_version();
+	print_banner();
+
+	return flashprog_init(/* perform_selfcheck => */1);
+}
+
 int cli_parse_log_args(struct log_args *const args, const int opt, const char *const optarg)
 {
 	switch (opt) {
diff --git a/include/cli.h b/include/cli.h
index aec1a46..b7a0340 100644
--- a/include/cli.h
+++ b/include/cli.h
@@ -60,4 +60,6 @@
 int cli_parse_layout_args(struct layout_args *, int opt, const char *optarg);
 int cli_process_layout_args(struct flashprog_layout **, struct flashprog_flashctx *, const struct layout_args *);
 
+int cli_init(void);
+
 #endif
