diff --git a/unix/main.c b/unix/main.c
index 741568f75321e3026cac4548481cad71a6b1b56d..ae09b895d100d61c31782374b9a63d6844340f03 100644
--- a/unix/main.c
+++ b/unix/main.c
@@ -515,8 +515,7 @@ int main(int argc, char **argv) {
             char *pathbuf = malloc(PATH_MAX);
             char *basedir = realpath(argv[a], pathbuf);
             if (basedir == NULL) {
-                mp_printf(&mp_stderr_print, "%s: can't open file '%s': [Errno %d] ", argv[0], argv[a], errno);
-                perror("");
+                mp_printf(&mp_stderr_print, "%s: can't open file '%s': [Errno %d] %s\n", argv[0], argv[a], errno, strerror(errno));
                 // CPython exits with 2 in such case
                 ret = 2;
                 break;