diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index 619e458..0122f08 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -84,7 +84,12 @@
 _EXEC_PREFIX = os.path.normpath(sys.exec_prefix)
 _CONFIG_VARS = None
 _USER_BASE = None
-_PROJECT_BASE = os.path.dirname(realpath(sys.executable))
+if sys.executable:
+    _PROJECT_BASE = os.path.dirname(realpath(sys.executable))
+else:
+    # sys.executable can be empty if argv[0] has been changed and Python is
+    # unable to retrieve the real program name
+    _PROJECT_BASE = realpath(os.getcwd())
 
 if os.name == "nt" and "pcbuild" in _PROJECT_BASE[-8:].lower():
     _PROJECT_BASE = realpath(os.path.join(_PROJECT_BASE, pardir))
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index e20c95f..eb0bef8 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -479,6 +479,23 @@
         out = p.communicate()[0].strip()
         self.assertEqual(out, b'?')
 
+    def test_executable(self):
+        # Issue #7774: Ensure that sys.executable is an empty string if argv[0]
+        # has been set to an non existent program name and Python is unable to
+        # retrieve the real program name
+        import subprocess
+        # For a normal installation, it should work without 'cwd'
+        # argument. For test runs in the build directory, see #7774.
+        python_dir = os.path.dirname(os.path.realpath(sys.executable))
+        p = subprocess.Popen(
+            ["nonexistent", "-c",
+             'import sys; print(sys.executable.encode("ascii", "backslashreplace"))'],
+            executable=sys.executable, stdout=subprocess.PIPE, cwd=python_dir)
+        stdout = p.communicate()[0]
+        executable = stdout.strip().decode("ASCII")
+        p.wait()
+        self.assertIn(executable, ["b''", repr(sys.executable.encode("ascii", "backslashreplace"))])
+
 
 class SizeofTest(unittest.TestCase):
 
diff --git a/Modules/getpath.c b/Modules/getpath.c
index a371cb3..c6e50d3 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
@@ -522,7 +522,7 @@
 	}
 	else
 		progpath[0] = '\0';
-	if (progpath[0] != SEP)
+	if (progpath[0] != SEP && progpath[0] != '\0')
 		absolutize(progpath);
 	wcsncpy(argv0_path, progpath, MAXPATHLEN);
 	argv0_path[MAXPATHLEN] = '\0';
