--- facter-1.5.7.orig/lib/facter/domain.rb
+++ facter-1.5.7/lib/facter/domain.rb
@@ -4,14 +4,14 @@
         # steps is important
 
         Facter.value(:hostname)
-        next $domain if defined? $domain and ! $domain.nil?
+        # try to fetch the domain from hostname if long hostname is used.
+        if defined? $fqdn and $fqdn =~ /^([\w-]+)\.(.+)$/
+          next $2
+        end
 
         domain = Facter::Util::Resolution.exec('dnsdomainname')
         next domain if domain =~ /.+\..+/
 
-        domain = Facter::Util::Resolution.exec('domainname')
-        next domain if domain =~ /.+\..+/
-
         if FileTest.exists?("/etc/resolv.conf")
             domain = nil
             search = nil
