diff --git a/Library/Homebrew/os/linux.rb b/Library/Homebrew/os/linux.rb
index 039e6ab98f5dbf6fcb96c14c4f169ccdca4bee08..5436d6f00a74f7691e05f68798794137f6fe4d69 100644
--- a/Library/Homebrew/os/linux.rb
+++ b/Library/Homebrew/os/linux.rb
@@ -11,13 +11,14 @@ module OS
     sig { returns(String) }
     def os_version
       if which("lsb_release")
-        description = Utils.popen_read("lsb_release -d")
-                           .chomp
-                           .sub("Description:\t", "")
-        codename = Utils.popen_read("lsb_release -c")
-                        .chomp
-                        .sub("Codename:\t", "")
-        "#{description} (#{codename})"
+        lsb_info = Utils.popen_read("lsb_release -a")
+        description = lsb_info[/^Description:\s*(.*)$/, 1]
+        codename = lsb_info[/^Codename:\s*(.*)$/, 1]
+        if codename.blank? || (codename == "n/a")
+          description
+        else
+          "#{description} (#{codename})"
+        end
       elsif (redhat_release = Pathname.new("/etc/redhat-release")).readable?
         redhat_release.read.chomp
       else