diff --git a/compensation/utils/quality.py b/compensation/utils/quality.py
index 193cf9a2..e6641ec8 100644
--- a/compensation/utils/quality.py
+++ b/compensation/utils/quality.py
@@ -30,10 +30,8 @@ class CompensationQualityChecker(AbstractQualityChecker):
         """
         after_states = self.obj.get_surface_after_states()
         before_states = self.obj.get_surface_before_states()
-        sum_after_states_surface = self.obj.get_surface_after_states()
-        sum_before_states_surface = self.obj.get_surface_before_states()
 
-        if sum_after_states_surface != sum_before_states_surface:
+        if after_states != before_states:
             self.messages.append(
                 _("States unequal")
             )
diff --git a/intervention/forms/modals/check.py b/intervention/forms/modals/check.py
index 8e2a551e..4371dd2d 100644
--- a/intervention/forms/modals/check.py
+++ b/intervention/forms/modals/check.py
@@ -74,7 +74,8 @@ class CheckModalForm(BaseModalForm):
                     "checked_comps",
                     f"{comp.identifier}: {msg}"
                 )
-            comps_valid = checker.valid
+            if comps_valid and not checker.valid:
+                comps_valid = checker.valid
         deductions_valid = self._are_deductions_valid()
         return deductions_valid and comps_valid