diff --git a/flatland/envs/step_utils/malfunction_handler.py b/flatland/envs/step_utils/malfunction_handler.py
index 02976e9d98c5665e39bcb6887a0397e37ce0c3d0..ef2a4bd6886a2cac48b3dc777a0ad6a9abd63778 100644
--- a/flatland/envs/step_utils/malfunction_handler.py
+++ b/flatland/envs/step_utils/malfunction_handler.py
@@ -38,7 +38,8 @@ class MalfunctionHandler:
         # Only set new malfunction value if old malfunction is completed
         if self._malfunction_down_counter == 0:
             self._malfunction_down_counter = val
-            self.num_malfunctions += 1
+            if val > 0:
+                self.num_malfunctions += 1
 
     def generate_malfunction(self, malfunction_generator, np_random):
         num_broken_steps = get_number_of_steps_to_break(malfunction_generator, np_random)