diff --git a/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/strategy/RatioKPICalculationStrategy.kt b/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/strategy/RatioKPICalculationStrategy.kt
index 1f258d8ad9b6e42664d81b6d848287c8e2c80baa..ec398d3e3e8373a765184d555772f313a073eb13 100644
--- a/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/strategy/RatioKPICalculationStrategy.kt
+++ b/src/main/kotlin/de/fraunhofer/iem/dataprovider/kpi/strategy/RatioKPICalculationStrategy.kt
@@ -8,11 +8,13 @@ class RatioKPICalculationStrategy : KPICalculationStrategy {
         if (children.size != 2) {
             throw Exception("Requires exactly two children")
         }
+        // TODO: this is a dirty workaround to fix a copy by reference bug
+        val copiedChildren = children.toList()
         val firstValue = children[0].to.getValue()
         val secondValue = children[1].to.getValue()
         if (firstValue >= secondValue) {
-            return Pair(((secondValue.toDouble() / firstValue.toDouble()) * 100).toInt(), children)
+            return Pair(((secondValue.toDouble() / firstValue.toDouble()) * 100).toInt(), copiedChildren)
         }
-        return Pair(((firstValue.toDouble() / secondValue.toDouble()) * 100).toInt(), children)
+        return Pair(((firstValue.toDouble() / secondValue.toDouble()) * 100).toInt(), copiedChildren)
     }
 }