diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ApplicationPeriodServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ApplicationPeriodServiceImpl.java
index ba9cd5d8be..85aefb781b 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ApplicationPeriodServiceImpl.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ApplicationPeriodServiceImpl.java
@@ -8,18 +8,17 @@ import javax.annotation.Resource;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.mysema.query.types.expr.BooleanExpression;
-
+import se.su.dsv.scipro.data.dataobjects.ProjectClass;
 import se.su.dsv.scipro.match.dataobject.ApplicationPeriod;
 import se.su.dsv.scipro.match.dataobject.QApplicationPeriod;
-import se.su.dsv.scipro.peer.data.dataobjects.PeerRequest;
 import se.su.dsv.scipro.springdata.repos.ApplicationPeriodRepo;
 import se.su.dsv.scipro.springdata.services.ApplicationPeriodService;
 
+import com.mysema.query.types.expr.BooleanExpression;
+
 @Service ( "applicationPeriodService" )
 @Transactional ( readOnly = true )
 public class ApplicationPeriodServiceImpl extends AbstractQueryService<ApplicationPeriod, Long> implements ApplicationPeriodService {
@@ -41,6 +40,16 @@ public class ApplicationPeriodServiceImpl extends AbstractQueryService<Applicati
 		return constructList(periods);
 	}
 	
+	@Override
+	public ApplicationPeriod getCurrentPeriod(Date currentDate, ProjectClass pc) {
+		ApplicationPeriod ap = applicationPeriodRepo.findOne(startedBefore(currentDate).and(endedAfter(currentDate)).and(haveProjectClass(pc)));
+		return ap;
+	}
+	
+	private BooleanExpression haveProjectClass(ProjectClass pc) {
+		return QApplicationPeriod.applicationPeriod.projectClass.contains(pc);
+	}
+	
 	private BooleanExpression startedBefore(Date currentDate){
 		return QApplicationPeriod.applicationPeriod.startDate.before(currentDate);
 	}
@@ -56,4 +65,5 @@ public class ApplicationPeriodServiceImpl extends AbstractQueryService<Applicati
 		}
 		return list;
 	}
+
 }
diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorIdeaServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorIdeaServiceImpl.java
index fa5df6908b..270b47c5a8 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorIdeaServiceImpl.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/SupervisorIdeaServiceImpl.java
@@ -1,6 +1,7 @@
 package se.su.dsv.scipro.springdata.serviceimpls;
 
 import java.util.Collection;
+import java.util.Date;
 import java.util.List;
 import java.util.SortedSet;
 
@@ -24,6 +25,7 @@ import se.su.dsv.scipro.match.dataobject.QSupervisorIdea;
 import se.su.dsv.scipro.match.dataobject.SupervisorIdea;
 import se.su.dsv.scipro.match.dataobject.Watson;
 import se.su.dsv.scipro.springdata.repos.SupervisorIdeaRepo;
+import se.su.dsv.scipro.springdata.services.ApplicationPeriodService;
 import se.su.dsv.scipro.springdata.services.StudentService;
 import se.su.dsv.scipro.springdata.services.SupervisorIdeaService;
 import se.su.dsv.scipro.springdata.services.SupervisorService;
@@ -42,6 +44,8 @@ public class SupervisorIdeaServiceImpl extends AbstractQueryService<SupervisorId
 	private StudentService studentService;
 	@Resource
 	private SupervisorService supervisorService;
+	@Resource
+	private ApplicationPeriodService applicationPeriodService;
 	
 	private int MAX_PARTNERS = 1;
 	
@@ -117,6 +121,7 @@ public class SupervisorIdeaServiceImpl extends AbstractQueryService<SupervisorId
 				s.addIdeaParticipation(ip);
 			}
 			idea.setIdeaStatus(IdeaStatus.TAKEN);
+			idea.setApplicationPeriod(applicationPeriodService.getCurrentPeriod(new Date(), idea.getProjectClass()));
 			return true;
 		}
 	}
@@ -142,6 +147,8 @@ public class SupervisorIdeaServiceImpl extends AbstractQueryService<SupervisorId
 		}	
 		//Erase watson boxes
 		idea.setWatson(new Watson());
+		//Remove application period association
+		idea.setApplicationPeriod(null);
 		//Change status back to waiting
 		idea.setIdeaStatus(IdeaStatus.WAITING);
 			
diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/ApplicationPeriodService.java b/src/main/java/se/su/dsv/scipro/springdata/services/ApplicationPeriodService.java
index 2f742d44b3..0c45a0cb8c 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/services/ApplicationPeriodService.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/services/ApplicationPeriodService.java
@@ -3,10 +3,11 @@ package se.su.dsv.scipro.springdata.services;
 import java.util.Date;
 import java.util.List;
 
+import se.su.dsv.scipro.data.dataobjects.ProjectClass;
 import se.su.dsv.scipro.match.dataobject.ApplicationPeriod;
 
 public interface ApplicationPeriodService extends GenericService<ApplicationPeriod, Long>, QueryService<ApplicationPeriod, Long> {
 
 	 List<ApplicationPeriod> getCurrentPeriods(final Date currentDate);
-	 
+	 ApplicationPeriod getCurrentPeriod(final Date currentDate, final ProjectClass pc);
 }