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 3be3880476..a84079ab81 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
@@ -55,7 +55,7 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
     @Override
     public Page<Project> find(String filterString, Date fromDate, Date toDate, Pageable pageable) {
 
-        return projectRepo.findAll((titleContains(filterString).or(headSupervisorFirstNameContains(filterString).or(headSupervisorLastNameContains(filterString)))).and(projectCreatedAfter(fromDate)).and(projectCreatedBefore(toDate)), pageable);
+        return projectRepo.findAll((authorsFirstNameContains(filterString).or(authorsLastNameContains(filterString)).or(titleContains(filterString)).or(headSupervisorFirstNameContains(filterString).or(headSupervisorLastNameContains(filterString)))).and(projectCreatedAfter(fromDate)).and(projectCreatedBefore(toDate)), pageable);
     }
 
     @Override
@@ -65,7 +65,7 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
 
     @Override
     public Long count(String filterString, Date fromDate, Date toDate) {
-        return projectRepo.count((titleContains(filterString).or(headSupervisorFirstNameContains(filterString).or(headSupervisorLastNameContains(filterString)))).and(projectCreatedAfter(fromDate)).and(projectCreatedBefore(toDate)));
+        return projectRepo.count((authorsFirstNameContains(filterString).or(authorsLastNameContains(filterString)).or(titleContains(filterString)).or(headSupervisorFirstNameContains(filterString).or(headSupervisorLastNameContains(filterString)))).and(projectCreatedAfter(fromDate)).and(projectCreatedBefore(toDate)));
     }
 
     @Override
@@ -123,7 +123,16 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
 
     }
 
-    //Boolean expressionns for building predicate queries
+    //Boolean expressions for building predicate queries
+
+    //the below two authorXnamecontains methods make the search very slow.
+    private BooleanExpression authorsFirstNameContains(String searchTerm){
+        return QProject.project.projectParticipants.any().user.firstName.containsIgnoreCase(searchTerm);
+    }
+
+    private BooleanExpression authorsLastNameContains(String searchTerm){
+        return QProject.project.projectParticipants.any().user.lastName.containsIgnoreCase(searchTerm);
+    }
 
     private BooleanExpression isProjectFollower(List<ProjectFollower> pf) {
         return QProject.project.projectFollowers.any().in(pf);