diff --git a/src/main/java/se/su/dsv/scipro/data/dao/interfaces/FinalSeminarActiveParticipationDao.java b/src/main/java/se/su/dsv/scipro/data/dao/interfaces/FinalSeminarActiveParticipationDao.java
index e5f07d252d..91eee17842 100644
--- a/src/main/java/se/su/dsv/scipro/data/dao/interfaces/FinalSeminarActiveParticipationDao.java
+++ b/src/main/java/se/su/dsv/scipro/data/dao/interfaces/FinalSeminarActiveParticipationDao.java
@@ -5,6 +5,7 @@ package se.su.dsv.scipro.data.dao.interfaces;
 
 import java.util.List;
 
+import se.su.dsv.scipro.data.dataobjects.FinalSeminar;
 import se.su.dsv.scipro.data.dataobjects.FinalSeminarActiveParticipation;
 import se.su.dsv.scipro.data.dataobjects.Project;
 import se.su.dsv.scipro.data.dataobjects.User;
@@ -18,6 +19,7 @@ import se.su.dsv.scipro.data.dataobjects.User;
 public interface FinalSeminarActiveParticipationDao extends Dao<FinalSeminarActiveParticipation>{
 	
 	public List<FinalSeminarActiveParticipation> findParticipationsByUserAndProject(final User user, final Project project);
+	public List<FinalSeminarActiveParticipation> findParticipationsByUserAndProject(final User user, final Project project, final FinalSeminar fs);
 	public int countParticipationsByProjectAndStudent(final Project project, final User user);
 
 }
diff --git a/src/main/java/se/su/dsv/scipro/data/dao/jpa/FinalSeminarActiveParticipationDaoJPAImp.java b/src/main/java/se/su/dsv/scipro/data/dao/jpa/FinalSeminarActiveParticipationDaoJPAImp.java
index 27ee00ea75..d654beffa2 100644
--- a/src/main/java/se/su/dsv/scipro/data/dao/jpa/FinalSeminarActiveParticipationDaoJPAImp.java
+++ b/src/main/java/se/su/dsv/scipro/data/dao/jpa/FinalSeminarActiveParticipationDaoJPAImp.java
@@ -13,6 +13,7 @@ import org.springframework.stereotype.Repository;
 import org.springframework.transaction.annotation.Transactional;
 
 import se.su.dsv.scipro.data.dao.interfaces.FinalSeminarActiveParticipationDao;
+import se.su.dsv.scipro.data.dataobjects.FinalSeminar;
 import se.su.dsv.scipro.data.dataobjects.FinalSeminarActiveParticipation;
 import se.su.dsv.scipro.data.dataobjects.Project;
 import se.su.dsv.scipro.data.dataobjects.User;
@@ -53,6 +54,31 @@ public class FinalSeminarActiveParticipationDaoJPAImp  extends AbstractDaoJPAImp
 		});
 	}
 	
+	@Transactional
+	public List<FinalSeminarActiveParticipation> findParticipationsByUserAndProject(final User user, final Project project, final FinalSeminar finalSeminar){
+		return getJpaTemplate().execute(new JpaCallback<List<FinalSeminarActiveParticipation>>() {
+			public List<FinalSeminarActiveParticipation> doInJpa(EntityManager em)
+			throws PersistenceException {
+				String q =  "select ap " +
+							"from FinalSeminarActiveParticipation ap " +
+							"where ap.user = :user " +
+							"and ap.project = :project " +
+							"and ap.finalSeminar = :finalSeminar";
+				
+				TypedQuery<FinalSeminarActiveParticipation> query = em.createQuery(q, FinalSeminarActiveParticipation.class);
+				query.setParameter("user", user);
+				query.setParameter("project", project);
+				query.setParameter("finalSeminar", finalSeminar);
+				
+				try {
+					return query.getResultList();
+				} catch (NoResultException e) {
+					return new ArrayList<FinalSeminarActiveParticipation>();
+				}
+			}
+		});
+	}
+	
 	@Transactional
 	public int countParticipationsByProjectAndStudent(final Project project, final User user){
 		return getJpaTemplate().execute(new JpaCallback<Integer>() {
diff --git a/src/main/java/se/su/dsv/scipro/data/dataobjects/Member.java b/src/main/java/se/su/dsv/scipro/data/dataobjects/Member.java
index afb35ef0e7..d1af54f95f 100644
--- a/src/main/java/se/su/dsv/scipro/data/dataobjects/Member.java
+++ b/src/main/java/se/su/dsv/scipro/data/dataobjects/Member.java
@@ -35,7 +35,18 @@ public class Member implements Serializable {
                 return "Co-Supervisor";
             }
         },
-
+        OPPONENT {
+            @Override
+            public String toString() {
+                return "Opponent";
+            }
+        },
+        ACTIVE_PARTICIPANT {
+            @Override
+            public String toString() {
+                return "Active Participant";
+            }
+        },
     }
     
     public Member(User user, Type type) {
diff --git a/src/main/java/se/su/dsv/scipro/io/facade/ImporterFacade.java b/src/main/java/se/su/dsv/scipro/io/facade/ImporterFacade.java
index a1acf9512a..3ad6752404 100644
--- a/src/main/java/se/su/dsv/scipro/io/facade/ImporterFacade.java
+++ b/src/main/java/se/su/dsv/scipro/io/facade/ImporterFacade.java
@@ -212,7 +212,20 @@ public class ImporterFacade {
 		}
 	}
 	private void checkForRemovedMembers(final Project project, final Set<ProjectParticipantDTO> participants) {
-		final List<Member> currentMembers = project.getMembers();
+		//Get project team members.
+		final Set<Member> currentMembers = new HashSet<Member>(project.getMembers()); 
+		final List<FinalSeminar> fsList = finalSeminarDao.findFinalSeminarsByProject(project); 
+		//Get opponents and active participants as well. 
+		if(!fsList.isEmpty()){
+			for(FinalSeminar fs : fsList) {
+				for(FinalSeminarOpposition opp : fs.getOppositions()){
+					currentMembers.add(new Member(opp.getUser(), Member.Type.OPPONENT));
+				}
+				for(FinalSeminarActiveParticipation ap : fs.getActiveParticipations()){
+					currentMembers.add(new Member(ap.getUser(), Member.Type.ACTIVE_PARTICIPANT));
+				}
+			}
+		} 
 		final Set<ProjectParticipantDTO> remoteMembers = new HashSet<ProjectParticipantDTO>(participants);
 		final Set<Member> membersToRemove = new HashSet<Member>();
 		//Check to see if some members of the projects have been removed from Daisy. If so, we need to remove from Scipro as well.
@@ -261,8 +274,31 @@ public class ImporterFacade {
 					logger.debug("Can't find project follower to remove.");
 				break;
 			}
+			case OPPONENT: {
+				for (FinalSeminar fs : fsList) {
+					List<FinalSeminarOpposition> oppList = finalSeminarOppositionDao.findOppositionsByUserAndProject(m.getUser(), project, fs);
+						for (FinalSeminarOpposition opp : oppList) {
+							if(fs.getOppositions().contains(opp)){
+								finalSeminarOppositionDao.delete(opp);
+							}
+					}
+				}
+				break;
+			}
+			case ACTIVE_PARTICIPANT: {
+				for (FinalSeminar fs : fsList) {
+					List<FinalSeminarActiveParticipation> apList = finalSeminarActiveParticipationDao.findParticipationsByUserAndProject(m.getUser(), project, fs);
+						for (FinalSeminarActiveParticipation ap: apList) {
+							if(fs.getActiveParticipations().contains(ap))
+								finalSeminarActiveParticipationDao.delete(ap);
+						}
+				}
+				break;
+			}
 			}
 		}
+		
+		
 	}
 	private ProjectParticipantDTO participantDtoFromMember(Member m) {
 		ProjectParticipantDTO dto = new ProjectParticipantDTO();
@@ -289,6 +325,15 @@ public class ImporterFacade {
 			dto.setRole(EXTERNAL_PROJECT_ROLE.ASSISTANT_SUPERVISOR.toLocal().name());
 			break;
 			}
+		case OPPONENT:
+		{
+			dto.setRole(EXTERNAL_PROJECT_ROLE.OPPONENT.toLocal().name());
+			break;
+		}
+		case ACTIVE_PARTICIPANT:
+		{
+			dto.setRole(EXTERNAL_PROJECT_ROLE.ACTIVE_PARTICIPATION.name());
+		}
 		}
 		return dto;
 	}