diff --git a/core/src/main/java/se/su/dsv/scipro/match/ApplicationPeriod.java b/core/src/main/java/se/su/dsv/scipro/match/ApplicationPeriod.java
index 58a91f8a52..b21a586607 100755
--- a/core/src/main/java/se/su/dsv/scipro/match/ApplicationPeriod.java
+++ b/core/src/main/java/se/su/dsv/scipro/match/ApplicationPeriod.java
@@ -176,10 +176,12 @@ public class ApplicationPeriod extends DomainObject {
         return Collections.unmodifiableSet(answerSet);
     }
 
-    public void setProjectTypes(Iterable<ProjectType> projectTypes) {
-        this.projectTypes.clear();
+    public void setProjectTypes(Set<ProjectType> projectTypes) {
+        this.projectTypes.removeIf(appt -> !projectTypes.contains(appt.getProjectType()));
         for (ProjectType pt : projectTypes) {
-            this.projectTypes.add(new ApplicationPeriodProjectType(this, pt));
+            if (this.projectTypes.stream().noneMatch(appt -> appt.getProjectType().equals(pt))) {
+                addProjectType(pt);
+            }
         }
     }