diff --git a/src/main/java/se/su/dsv/scipro/admin/pages/ProjectManagementPage.java b/src/main/java/se/su/dsv/scipro/admin/pages/ProjectManagementPage.java
index 4125c5fc93..0c88173443 100644
--- a/src/main/java/se/su/dsv/scipro/admin/pages/ProjectManagementPage.java
+++ b/src/main/java/se/su/dsv/scipro/admin/pages/ProjectManagementPage.java
@@ -175,22 +175,20 @@ public class ProjectManagementPage extends AbstractAdminPage {
 
             @Override
             public Iterator<Project> getIterator() {
-                return projectService.find(datesPanel.getFromDate(), datesPanel.getToDate(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
-//                if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) {
-//                    return projectService.findAll(new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
-//                } else {
-//                    return projectService.find(filterStringPanel.getFilterString(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
-//                }
+                if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) {
+                    return projectService.find(datesPanel.getFromDate(), datesPanel.getToDate(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
+                } else {
+                    return projectService.find(filterStringPanel.getFilterString(), datesPanel.getFromDate(), datesPanel.getToDate(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
+                }
             }
 
             @Override
             public int getSize() {
-                return safeLongToInt(projectService.count(datesPanel.getFromDate(), datesPanel.getToDate()));
-//                if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) {
-//                    return safeLongToInt(projectService.count());
-//                } else {
-//                    return safeLongToInt(projectService.count(filterStringPanel.getFilterString()));
-//                }
+                if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) {
+                    return safeLongToInt(projectService.count(datesPanel.getFromDate(), datesPanel.getToDate()));
+                } else {
+                    return safeLongToInt(projectService.count(filterStringPanel.getFilterString(), datesPanel.getFromDate(), datesPanel.getToDate()));
+                }
             }
         });
     }
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 c505635bb1..9651b38965 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,9 +53,9 @@ 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).or(headSupervisorFirstNameContains(filterString).or(headSupervisorLastNameContains(filterString))), pageable);
+    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);
     }
 
     @Override
@@ -64,8 +64,8 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
     }
 
     @Override
-    public Long count(String filterString) {
-        return projectRepo.count(titleContains(filterString));
+    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)));
     }
 
     @Override
diff --git a/src/main/java/se/su/dsv/scipro/springdata/services/ProjectService.java b/src/main/java/se/su/dsv/scipro/springdata/services/ProjectService.java
index f7e525f88b..5923083048 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/services/ProjectService.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/services/ProjectService.java
@@ -11,9 +11,9 @@ import se.su.dsv.scipro.data.enums.ProjectTeamMemberRoles;
 
 public interface ProjectService extends GenericService<Project,Long>, QueryService<Project, Long> {
 
-    public Page<Project> find(String filterString, Pageable pageable);
+    public Page<Project> find(String filterString, Date fromDate, Date toDate, Pageable pageable);
     public Page<Project> find(Date fromDate, Date toDate, Pageable pageable);
-    public Long count(String filterString);
+    public Long count(String filterString, Date fromDate, Date toDate);
     public Long count(Date fromDate, Date toDate);
 	public List<Project> getProjectsByUser(User user);
 	public List<Project> getProjectsByUserAndStatus(User author, ProjectStatus status);