diff --git a/Library/Homebrew/development_tools.rb b/Library/Homebrew/development_tools.rb
index febe04b216f6cf403366d8d58c31dbe52bd36d23..62f9b3d71ed065fa9292f343695d743b3b0ff31a 100644
--- a/Library/Homebrew/development_tools.rb
+++ b/Library/Homebrew/development_tools.rb
@@ -43,8 +43,9 @@ class DevelopmentTools
 
     def gcc_40_build_version
       @gcc_40_build_version ||=
-        if (path = locate("gcc-4.0"))
-          Version.new `#{path} --version 2>/dev/null`[/build (\d{4,})/, 1].to_i
+        if (path = locate("gcc-4.0")) &&
+           build_version = `#{path} --version 2>/dev/null`[/build (\d{4,})/, 1]
+          Version.new build_version
         else
           Version::NULL
         end
@@ -55,8 +56,9 @@ class DevelopmentTools
       @gcc_42_build_version ||=
         begin
           gcc = locate("gcc-4.2") || HOMEBREW_PREFIX.join("opt/apple-gcc42/bin/gcc-4.2")
-          if gcc.exist? && !gcc.realpath.basename.to_s.start_with?("llvm")
-            Version.new `#{gcc} --version 2>/dev/null`[/build (\d{4,})/, 1]
+          if gcc.exist? && !gcc.realpath.basename.to_s.start_with?("llvm")&&
+             build_version = `#{gcc} --version 2>/dev/null`[/build (\d{4,})/, 1]
+            Version.new build_version
           else
             Version::NULL
           end
@@ -66,8 +68,9 @@ class DevelopmentTools
 
     def clang_version
       @clang_version ||=
-        if (path = locate("clang"))
-          Version.new `#{path} --version`[/(?:clang|LLVM) version (\d\.\d)/, 1]
+        if (path = locate("clang")) &&
+           build_version = `#{path} --version`[/(?:clang|LLVM) version (\d\.\d)/, 1]
+          Version.new build_version
         else
           Version::NULL
         end
@@ -75,8 +78,9 @@ class DevelopmentTools
 
     def clang_build_version
       @clang_build_version ||=
-        if (path = locate("clang"))
-          Version.new `#{path} --version`[/clang-(\d{2,})/, 1]
+        if (path = locate("clang")) &&
+           build_version = `#{path} --version`[/clang-(\d{2,})/, 1]
+          Version.new build_version
         else
           Version::NULL
         end
@@ -86,8 +90,9 @@ class DevelopmentTools
       (@non_apple_gcc_version ||= {}).fetch(cc) do
         path = HOMEBREW_PREFIX.join("opt", "gcc", "bin", cc)
         path = locate(cc) unless path.exist?
-        version = if path
-          Version.new(`#{path} --version`[/gcc(?:-\d(?:\.\d)? \(.+\))? (\d\.\d\.\d)/, 1])
+        version = if path &&
+                     build_version = `#{path} --version`[/gcc(?:-\d(?:\.\d)? \(.+\))? (\d\.\d\.\d)/, 1]
+          Version.new build_version
         else
           Version::NULL
         end