diff --git a/Misc/NEWS.d/next/Core and Builtins/2022-07-17-15-54-29.gh-issue-91256.z7i7Q5.rst b/Misc/NEWS.d/next/Core and Builtins/2022-07-17-15-54-29.gh-issue-91256.z7i7Q5.rst
new file mode 100644
index 0000000000000000000000000000000000000000..802a614fd48d72c2e39ffc985526148dfb55272a
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/2022-07-17-15-54-29.gh-issue-91256.z7i7Q5.rst	
@@ -0,0 +1 @@
+Ensures the program name is known for help text during interpreter startup.
diff --git a/Python/initconfig.c b/Python/initconfig.c
index 86dcdd9a8bd6bb0c06dab832b24a4a595f004531..d31385039932bca628c51e22c6b8a4c020268bc9 100644
--- a/Python/initconfig.c
+++ b/Python/initconfig.c
@@ -2295,6 +2295,9 @@ config_parse_cmdline(PyConfig *config, PyWideStringList *warnoptions,
     const PyWideStringList *argv = &config->argv;
     int print_version = 0;
     const wchar_t* program = config->program_name;
+    if (!program && argv->length >= 1) {
+        program = argv->items[0];
+    }
 
     _PyOS_ResetGetOpt();
     do {