diff --git a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java
index c9059e689ef4d1c42637b1d9f561081a4851972e..e83ab824cd993dcb1019048a6c823dd78e90a76a 100644
--- a/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java
+++ b/Testgenerator/src/main/java/de/fhmuenster/masterthesis/Testgenerator/migration/MigrationService.java
@@ -2,43 +2,31 @@ package de.fhmuenster.masterthesis.Testgenerator.migration;
 
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 
 import javax.annotation.PostConstruct;
 
-import org.eclipse.emf.common.util.BasicEList;
-import org.eclipse.emf.common.util.EList;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import de.fhmuenster.masterthesis.Testgenerator.rest.dto.MigrationResultWrapperDTO;
 import de.fhmuenster.masterthesis.Testgenerator.rest.service.change.ChangeService;
-import de.fhmuenster.masterthesis.Testgenerator.rest.service.test.TestService;
 import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationResultStatus;
 import de.fhmuenster.masterthesis.Testgenerator.yaml.MigrationYaml;
 import de.fhmuenster.masterthesis.Testgenerator.yaml.YamlReader;
 import de.fhmuenster.masterthesis.serialization.TestgeneratorDSLSerializer;
 import de.fhmuenster.masterthesis.testgeneratorDSL.Flow;
-import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElement;
 import de.fhmuenster.masterthesis.testgeneratorDSL.FlowElementReference;
 import de.fhmuenster.masterthesis.testgeneratorDSL.ManualTaskFlowElement;
 import de.fhmuenster.masterthesis.testgeneratorDSL.UserTaskFlowElement;
 import de.fhmuenster.masterthesis.testgeneratorDSL.SequenceFlowElement;
-import de.fhmuenster.masterthesis.testgeneratorDSL.ServiceTaskFlowElement;
 import de.fhmuenster.masterthesis.testgeneratorDSL.BusinessRuleTaskFlowElement;
 import de.fhmuenster.masterthesis.testgeneratorDSL.Flag;
 import de.fhmuenster.masterthesis.utils.TestgeneratorDSLUtils;
-import org.camunda.bpm.model.bpmn.instance.SequenceFlow;
-import org.camunda.bpm.model.bpmn.instance.ServiceTask;
-import org.camunda.bpm.model.bpmn.instance.ManualTask;
 
 @Service
 public class MigrationService {
-	
-	private MigrationYaml yaml;
-	
+
 	@Autowired
 	private ChangeService changeService;
 	
@@ -54,7 +42,6 @@ public class MigrationService {
 		//Annahme: Flows sind identisch
 		
 		MigrationResultWrapper migrationResultWrapper = new MigrationResultWrapper();
-		List<FlowChangeWrapper> result = new ArrayList<>();
 		
 		// 1. Schritt: Prüfen, ob in einem Flow neue Elemente hinzugekommen sind
 		List<FlowChangeWrapper> activityAddActionResults = detectActivityAddActions(oldDSL.getFlows(), newDSL.getFlows());
@@ -65,20 +52,18 @@ public class MigrationService {
 			System.out.println("+++ Neu: " + fcw.getFlowElement().getName() + " [" + fcw.getActionType() + "] in Flow " + fcw.getFlow().getName()
 					+ " mit Status: " + fcw.getMigrationResult().getPriority());
 			
-			try {	
-				newDSL.getFlow(fcw.getFlow().getName()).setFlag(Flag.YELLOW);
-
-				
+			try {
+				Flag maxFlag = Flag.NONE;
 				List<FlowElementReference> fers = newDSL.getFlow(fcw.getFlow().getName()).getInclElements();
-				
 				for(FlowElementReference fer : fers) {
-					fer.setFlag(Flag.GREEN);
-					System.out.println(fer.getRef().getName());
+					if(fer.getRef().getName().equals(fcw.getFlowElement().getName())) {
+						Flag newFlag = this.convertMigrationResultToFlag(fcw.getMigrationResult().getStatus());
+						fer.setFlag(newFlag);
+						maxFlag = this.calcMaxFlag(maxFlag, newFlag);
+					}
 				}
 				
-				//newDSL.getFlow(fcw.getFlow().getName()).getInclElements().clear();
-				//newDSL.getFlow(fcw.getFlow().getName()).getInclElements().replaceAll(fers);
-				
+				newDSL.getFlow(fcw.getFlow().getName()).setFlag(maxFlag);
 				
 				newDSL.serialize();
 			} catch (IOException e) {
@@ -220,4 +205,35 @@ public class MigrationService {
 		
 		return globalPriority;
 	}
+	
+	private Flag convertMigrationResultToFlag(MigrationResultStatus status) {
+		switch(status) {
+		case GREEN:
+			return Flag.GREEN;
+		case YELLOW:
+			return Flag.YELLOW;
+		case RED:
+			return Flag.RED;
+		default:
+			return Flag.GREEN;
+		}
+	}
+	
+	private Flag calcMaxFlag(Flag currentFlag, Flag newFlag) {
+		if (currentFlag.equals(Flag.NONE) &&
+				(newFlag.equals(Flag.GREEN) || newFlag.equals(Flag.YELLOW) || newFlag.equals(Flag.RED))) {
+			return newFlag;
+		}
+		if (currentFlag.equals(Flag.GREEN) &&
+				(newFlag.equals(Flag.YELLOW) || newFlag.equals(Flag.RED))) {
+			return newFlag;
+		}
+		if (currentFlag.equals(Flag.YELLOW) &&
+				(newFlag.equals(Flag.RED))) {
+			return newFlag;
+		}
+		
+		return currentFlag;
+		
+	}
 }