diff --git a/src/main/java/se/su/dsv/scipro/data/dataobjects/Project.java b/src/main/java/se/su/dsv/scipro/data/dataobjects/Project.java
index bff1b9652c..5d17b6c258 100644
--- a/src/main/java/se/su/dsv/scipro/data/dataobjects/Project.java
+++ b/src/main/java/se/su/dsv/scipro/data/dataobjects/Project.java
@@ -1,5 +1,6 @@
 package se.su.dsv.scipro.data.dataobjects;
 
+import com.mysema.query.annotations.QueryInit;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.hibernate.annotations.Cache;
 import org.hibernate.annotations.CacheConcurrencyStrategy;
@@ -51,8 +52,9 @@ public class Project extends DomainObject implements Comparable<Project>, Iconiz
 	@Sort(type=SortType.NATURAL) //Required by hibernate
 	private SortedSet<ProjectFollower> projectFollowers = new TreeSet<ProjectFollower>();
 
-	@ManyToOne
+    @ManyToOne
 	@SortableField
+    @QueryInit({"user"})
 	private Employee headSupervisor;
 	
 	@OneToOne(mappedBy="project", orphanRemoval = true)
diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ProjectServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ProjectServiceImpl.java
index 673cc66625..3af44a6f31 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ProjectServiceImpl.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/ProjectServiceImpl.java
@@ -53,7 +53,8 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
 
     @Override
     public Page<Project> find(String filterString, Pageable pageable) {
-        return projectRepo.findAll(titleContains(filterString), pageable);
+//        return projectRepo.findAll(titleContains(filterString), pageable);
+        return projectRepo.findAll(titleContains(filterString).or(headSupervisorFirstNameContains(filterString).or(headSupervisorLastNameContains(filterString))), pageable);
     }
 
     @Override
@@ -125,9 +126,18 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
     }
 
     private BooleanExpression titleContains(String searchTerm) {
-        return QProject.project.title.contains(searchTerm);
+        return QProject.project.title.containsIgnoreCase(searchTerm);
     }
 
+    private BooleanExpression headSupervisorFirstNameContains(String searchTerm){
+        return QProject.project.headSupervisor.user.firstName.containsIgnoreCase(searchTerm);
+    }
+
+    private BooleanExpression headSupervisorLastNameContains(String searchTerm){
+        return QProject.project.headSupervisor.user.lastName.containsIgnoreCase(searchTerm);
+    }
+
+
     private BooleanExpression hasProjectClass(ProjectClass pc) {
         if (pc != null)
             return QProject.project.projectClass.eq(pc);