diff --git a/Library/Homebrew/os/mac/xquartz.rb b/Library/Homebrew/os/mac/xquartz.rb
index 221bf771994f24472463f680f29df7b4163470fe..108ac1e608dcee7ab1583d0bf6c425e856436d3f 100644
--- a/Library/Homebrew/os/mac/xquartz.rb
+++ b/Library/Homebrew/os/mac/xquartz.rb
@@ -14,9 +14,7 @@ module MacOS::XQuartz extend self
       elsif prefix.to_s == "/usr/X11"
         guess_system_version
       else
-        # Finally, try to find it via pkgutil. This is slow, and only works
-        # for the upstream XQuartz package, so use it as a last resort.
-        MacOS.pkgutil_info(FORGE_PKG_ID)[/version: (\d\.\d\.\d).+$/, 1]
+        version_from_pkgutil
       end
     end
   end
@@ -45,6 +43,14 @@ module MacOS::XQuartz extend self
     end
   end
 
+  # Upstream XQuartz *does* have a pkg-info entry, so if we can't get it
+  # from mdls, we can try pkgutil. This is very slow.
+  # NOTE: this sacrifices correctness, as it returns an internal version
+  # that may not always match the "user-facing" version string.
+  def version_from_pkgutil
+    MacOS.pkgutil_info(FORGE_PKG_ID)[/version: (\d\.\d\.\d).+$/, 1]
+  end
+
   def provided_by_apple?
     [FORGE_BUNDLE_ID, APPLE_BUNDLE_ID].find do |id|
       MacOS.app_with_bundle_id(id)