diff --git a/lib/redmine/scm/adapters/mercurial_adapter.rb b/lib/redmine/scm/adapters/mercurial_adapter.rb
index 6903f80cfedc6cfe22e8fa238a36c546afbaa26c..80ad02f58031b1926a3d0ae477abae461ae760f6 100644
--- a/lib/redmine/scm/adapters/mercurial_adapter.rb
+++ b/lib/redmine/scm/adapters/mercurial_adapter.rb
@@ -110,9 +110,16 @@ module Redmine
         end
 
         def summary
-          @summary ||= hg 'rhsummary' do |io|
-            ActiveSupport::XmlMini.parse(io.read)['rhsummary']
+          return @summary if @summary 
+          doc = nil
+          hg 'rhsummary' do |io|
+            output = io.read
+            begin
+              doc = ActiveSupport::XmlMini.parse(output)['rhsummary']
+            rescue
+            end
           end
+          @summary = doc
         end
         private :summary