diff --git a/Lib/test/test_launcher.py b/Lib/test/test_launcher.py
index 97686e6ce98295d0af0a50caf2000878a158e6d5..ba6856b3e2466f42057ac8b6d8589a3a69a35168 100644
--- a/Lib/test/test_launcher.py
+++ b/Lib/test/test_launcher.py
@@ -370,6 +370,13 @@ def test_filter_to_company(self):
         self.assertEqual(company, data["env.company"])
         self.assertEqual("3.100", data["env.tag"])
 
+    def test_filter_to_company_with_default(self):
+        company = "PythonTestSuite"
+        data = self.run_py([f"-V:{company}/"], env=dict(PY_PYTHON="3.0"))
+        self.assertEqual("X.Y.exe", data["LaunchCommand"])
+        self.assertEqual(company, data["env.company"])
+        self.assertEqual("3.100", data["env.tag"])
+
     def test_filter_to_tag(self):
         company = "PythonTestSuite"
         data = self.run_py([f"-V:3.100"])
diff --git a/Misc/NEWS.d/next/Windows/2022-10-19-19-35-37.gh-issue-98414.FbHZuS.rst b/Misc/NEWS.d/next/Windows/2022-10-19-19-35-37.gh-issue-98414.FbHZuS.rst
new file mode 100644
index 0000000000000000000000000000000000000000..df07b7f547df96913ac229dc9279c10341159b4a
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2022-10-19-19-35-37.gh-issue-98414.FbHZuS.rst
@@ -0,0 +1,3 @@
+Fix :file:`py.exe` launcher handling of ``-V:<company>/`` option when
+default preferences have been set in environment variables or configuration
+files.
diff --git a/PC/launcher2.c b/PC/launcher2.c
index 23eaa19dde38e868ab6470857ff33880b40f8650..1f6f97b82092b9888a50df5953e76c6e3cc4bfc1 100644
--- a/PC/launcher2.c
+++ b/PC/launcher2.c
@@ -653,6 +653,7 @@ parseCommandLine(SearchInfo *search)
                     search->tag = argStart;
                 }
                 search->tagLength = (int)(tail - search->tag);
+                search->allowDefaults = false;
                 search->restOfCmdLine = tail;
             } else if (MATCHES(L"0") || MATCHES(L"-list")) {
                 search->list = true;