diff --git a/src/main/java/se/su/dsv/scipro/match/dao/interfaces/SupervisorDao.java b/src/main/java/se/su/dsv/scipro/match/dao/interfaces/SupervisorDao.java
index 3b39960532..4b8b6c08b4 100644
--- a/src/main/java/se/su/dsv/scipro/match/dao/interfaces/SupervisorDao.java
+++ b/src/main/java/se/su/dsv/scipro/match/dao/interfaces/SupervisorDao.java
@@ -9,6 +9,7 @@ import se.su.dsv.scipro.data.dataobjects.Language;
 import se.su.dsv.scipro.data.dataobjects.ProjectClass;
 import se.su.dsv.scipro.data.dataobjects.User;
 import se.su.dsv.scipro.match.dataobject.Availability;
+import se.su.dsv.scipro.match.dataobject.Keyword;
 
 public interface SupervisorDao extends QueryableDao<Employee, SupervisorDaoParams>{
 
@@ -19,6 +20,8 @@ public interface SupervisorDao extends QueryableDao<Employee, SupervisorDaoParam
     List<Employee> getCapableSupervisors(ProjectClass projectClass,
         Set<Language> languages);
     
+    List<Employee> getSupervisorsByKeyword(Keyword keyword);
+    
     List<Employee> getAutoCompleteCapableSupervisors(
         /*final ProjectClass projectClass, final Set<Language> languages,*/ final String searchString, int limit);
 
diff --git a/src/main/java/se/su/dsv/scipro/match/dao/jpa/SupervisorDaoJPAImp.java b/src/main/java/se/su/dsv/scipro/match/dao/jpa/SupervisorDaoJPAImp.java
index cf2c9e53b8..d37b2c3b35 100644
--- a/src/main/java/se/su/dsv/scipro/match/dao/jpa/SupervisorDaoJPAImp.java
+++ b/src/main/java/se/su/dsv/scipro/match/dao/jpa/SupervisorDaoJPAImp.java
@@ -95,6 +95,10 @@ SupervisorDao {
 				new QuerySet().projectClass(projectClass).languages(languages)
 				.fetchCallback());
 	}
+	
+	public List<Employee> getSupervisorsByKeyword(final Keyword keyword) {
+		return getJpaTemplate().execute(new QuerySet().keyword(keyword).fetchCallback());
+	}
 
 	public List<Employee> getAutoCompleteCapableSupervisors(
 			/*final ProjectClass projectClass, final Set<Language> languages,*/
@@ -126,6 +130,15 @@ SupervisorDao {
 			}
 			return this;
 		}
+		
+		public QuerySet keyword(Keyword keyword) {
+			if (keyword != null) {
+				getQuery().combine(
+						new Query().join("_.keywords.keywords k").where("k = :keyword").parameter(
+								"keyword", keyword)).distinct();
+			}
+			return this;
+		}
 
 		public QuerySet orderByUser() {
 			getQuery().combine(RoleDaoJPAImp.orderByUserQuery());