diff --git a/atdb/taskdatabase/services/calculated_qualities.py b/atdb/taskdatabase/services/calculated_qualities.py
index a6d89ca0ff4ae031ec8f11b143f1d39a768ab062..d956c66fa1ba6261d6074952ff5b714b7deabe80 100644
--- a/atdb/taskdatabase/services/calculated_qualities.py
+++ b/atdb/taskdatabase/services/calculated_qualities.py
@@ -22,7 +22,6 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds):
         try:
 
             summary = task.quality_json["summary"]
-            quality = None
 
             summary_flavour = get_summary_flavour(task)
 
@@ -35,20 +34,23 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds):
                     record = summary[key]
                     rfi_percent = float(record['rfi_percent'])
 
-
-            if rfi_percent >= 0:
-                quality = "good"
-                if rfi_percent >= quality_thresholds['moderate']:
-                    quality = "moderate"
-                if rfi_percent > quality_thresholds['poor']:
-                    quality = "poor"
-            return quality
+            return rfi_percentage_to_quality(rfi_percent, quality_thresholds['moderate'], quality_thresholds['poor'])
 
         except Exception as error:
             # when rfi_percentage is missing, then the quality cannot be calculated.
             # Just continue without it
             pass
 
+    def rfi_percentage_to_quality(rfi_percent, quality_treshold_moderate, quality_treshold_poor):
+        quality = None
+        if rfi_percent >= 0:
+            quality = "good"
+            if rfi_percent >= quality_treshold_moderate:
+                quality = "moderate"
+            if rfi_percent > quality_treshold_poor:
+                quality = "poor"
+        return quality
+
     def calculate_quality_sasid(unsaved_task, tasks_for_this_sasid):
         """
         calculate the overall quality per sas_id, based on other tasks with the same sas_id