diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 7fa52d0b7a78fac1c78585fc5392fa9f0ff06109..19a684d1d0cb852f8740dfa0e9b7ce06641317df 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -777,7 +777,11 @@ class MergeRequest < ActiveRecord::Base
     return @conflicts_can_be_resolved_in_ui = false unless has_complete_diff_refs?
 
     begin
-      @conflicts_can_be_resolved_in_ui = conflicts.files.each(&:lines)
+      # Try to parse each conflict. If the MR's mergeable status hasn't been updated,
+      # ensure that we don't say there are conflicts to resolve when there are no conflict
+      # files.
+      conflicts.files.each(&:lines)
+      @conflicts_can_be_resolved_in_ui = conflicts.files.length > 0
     rescue Rugged::OdbError, Gitlab::Conflict::Parser::ParserError, Gitlab::Conflict::FileCollection::ConflictSideMissing
       @conflicts_can_be_resolved_in_ui = false
     end
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index ae71eaeda525fb8f9b24678a137f503a91df62a9..c4138c4f3f3abb9399bf88cabea1e2a426acc3f2 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -890,6 +890,12 @@ describe MergeRequest, models: true do
       expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey
     end
 
+    it 'returns a falsey value when the MR is marked as having conflicts, but has none' do
+      merge_request = create_merge_request('master')
+
+      expect(merge_request.conflicts_can_be_resolved_in_ui?).to be_falsey
+    end
+
     it 'returns a falsey value when the MR has a missing ref after a force push' do
       merge_request = create_merge_request('conflict-resolvable')
       allow(merge_request.conflicts).to receive(:merge_index).and_raise(Rugged::OdbError)