diff --git a/src/main/java/se/su/dsv/scipro/peer/panels/FilterFormRequestStatusPanel.java b/src/main/java/se/su/dsv/scipro/peer/panels/FilterFormRequestStatusPanel.java
index 29c10cada5..402929a339 100644
--- a/src/main/java/se/su/dsv/scipro/peer/panels/FilterFormRequestStatusPanel.java
+++ b/src/main/java/se/su/dsv/scipro/peer/panels/FilterFormRequestStatusPanel.java
@@ -3,6 +3,8 @@ package se.su.dsv.scipro.peer.panels;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.Check;
@@ -15,7 +17,7 @@ import org.apache.wicket.model.CompoundPropertyModel;
 import se.su.dsv.scipro.peer.enums.RequestStatus;
 
 
-public class FilterFormRequestStatusPanel extends Panel {
+public abstract class FilterFormRequestStatusPanel extends Panel {
 
 	private static final long serialVersionUID = 8862892008428526067L;
 
@@ -50,6 +52,14 @@ public class FilterFormRequestStatusPanel extends Panel {
 		};
 		checkGroup.add(statusView);
 		checkGroup.setOutputMarkupId(true);
+		checkGroup.add(new AjaxFormChoiceComponentUpdatingBehavior(){
+
+			@Override
+			protected void onUpdate(AjaxRequestTarget target) {
+				ajaxUpdate(target);
+			}
+			
+		});
 		container.add(checkGroup);
 		add(container);
 	}
@@ -65,4 +75,6 @@ public class FilterFormRequestStatusPanel extends Panel {
 	public List<RequestStatus> getSelectedStatuses(){	
 		return (List<RequestStatus>) checkGroup.getModelObject();
 	}
+	
+	public abstract void ajaxUpdate(AjaxRequestTarget target);
 }
diff --git a/src/main/java/se/su/dsv/scipro/peer/panels/PeerRequestListPanel.html b/src/main/java/se/su/dsv/scipro/peer/panels/PeerRequestListPanel.html
index 568640d52a..318374e249 100644
--- a/src/main/java/se/su/dsv/scipro/peer/panels/PeerRequestListPanel.html
+++ b/src/main/java/se/su/dsv/scipro/peer/panels/PeerRequestListPanel.html
@@ -6,10 +6,12 @@
 
 		<div class="span-24 prepend-top last">
 		<form wicket:id="form">
+		<div class="span-6">
 		<label>Filter by requesting author:</label>
 		<br />
 		<input wicket:id="filterAuthor" />
 		<br />
+		</div>
 		<div class="span-6" wicket:id="statusFilter"></div>
 		<div class="span-10" wicket:id="supervisorContainer">	
 		<label>Show only my projects:</label>
@@ -17,9 +19,6 @@
         <input type="checkbox" wicket:id="supervisorCheckBox" />
         <br />
         </div>
-        <div class="span-20 append-bottom">
-		<input wicket:id="filterButton" type="submit" value="Filter" />
-		</div>
 		</form>
 		<div class="span-24">
 		<span class="left">Requests found: <span wicket:id="countLabel"></span></span>
diff --git a/src/main/java/se/su/dsv/scipro/peer/panels/PeerRequestListPanel.java b/src/main/java/se/su/dsv/scipro/peer/panels/PeerRequestListPanel.java
index cf7f391732..06e4f9f10c 100644
--- a/src/main/java/se/su/dsv/scipro/peer/panels/PeerRequestListPanel.java
+++ b/src/main/java/se/su/dsv/scipro/peer/panels/PeerRequestListPanel.java
@@ -7,7 +7,7 @@ import java.util.Iterator;
 
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
-import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
 import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxFallbackHeadersToolbar;
 import org.apache.wicket.extensions.ajax.markup.html.repeater.data.table.AjaxNavigationToolbar;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
@@ -16,7 +16,6 @@ import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColu
 import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
 import org.apache.wicket.markup.html.basic.EnclosureContainer;
 import org.apache.wicket.markup.html.basic.Label;
-import org.apache.wicket.markup.html.form.CheckBox;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.AbstractReadOnlyModel;
@@ -121,40 +120,50 @@ public class PeerRequestListPanel extends Panel {
 				@Override
 				protected void action(AjaxRequestTarget pTarget, Student newSelection) {
 					params.setAuthor(newSelection);
+					updateTarget(pTarget, params);
 				}
 			};
 			add(authorField);
-			final FilterFormRequestStatusPanel statusFilter = new FilterFormRequestStatusPanel("statusFilter");
+			final FilterFormRequestStatusPanel statusFilter = new FilterFormRequestStatusPanel("statusFilter") {
+				private static final long serialVersionUID = -6601997321551916230L;
+
+				@Override
+				public void ajaxUpdate(AjaxRequestTarget target) {
+					if(!getSelectedStatuses().isEmpty()){
+						params.setStatuses(getSelectedStatuses());
+					}
+					updateTarget(target, params);
+				}
+			};
+			params.setStatuses(statusFilter.getSelectedStatuses());
 			add(statusFilter);
-			final CheckBox supervisorProjects = new CheckBox("supervisorCheckBox", new Model<Boolean>());
+			final AjaxCheckBox supervisorProjects = new AjaxCheckBox("supervisorCheckBox", new Model<Boolean>()) {
+				private static final long serialVersionUID = -7624763782876907386L;
+
+				@Override
+				protected void onUpdate(AjaxRequestTarget target) {
+					if(this.getModelObject()){
+						Employee supervisor = supervisorService.findByUser(SciProSession.get().getUser());
+						params.setSupervisor(supervisor);
+					} else {
+						params.setSupervisor(null);
+					}
+					updateTarget(target, params);					
+				}
+				
+			};
 			supervisorProjects.setDefaultModelObject(false);
 			supervisorProjects.setVisible(isSupervisorView);
 			EnclosureContainer cont = new EnclosureContainer("supervisorContainer", supervisorProjects);
 			cont.add(supervisorProjects);
 			add(cont);
-			
-			
-			add(new AjaxButton("filterButton") { //button to click for performing overriden method
-				private static final long serialVersionUID = 1L;
-				@Override
-				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					if(authorField.getInput().equals(""))
-						params.setAuthor(null);
-					if(!statusFilter.getSelectedStatuses().isEmpty()){
-						params.setStatuses(statusFilter.getSelectedStatuses());
-					}
-					if(supervisorProjects.getModelObject()){
-						Employee supervisor = supervisorService.findByUser(SciProSession.get().getUser());
-						params.setSupervisor(supervisor);
-					} else {
-						params.setSupervisor(null);
-					}				
-					dataProvider.setFilterParams(params);
-					target.addComponent(table);
-					target.addComponent(countLabel);
-				}
-			});	
-		}		
+		}
+		
+		private void updateTarget(AjaxRequestTarget pTarget, FilterParams params) {
+			dataProvider.setFilterParams(params);
+			pTarget.addComponent(table);
+			pTarget.addComponent(countLabel);
+		}
 	}
 	
 	private class PeerRequestProvider extends SortableDataProvider<PeerRequest> {
diff --git a/src/main/java/se/su/dsv/scipro/peer/panels/PeerReviewListPanel.html b/src/main/java/se/su/dsv/scipro/peer/panels/PeerReviewListPanel.html
index a25813b0f0..b601ba03ce 100644
--- a/src/main/java/se/su/dsv/scipro/peer/panels/PeerReviewListPanel.html
+++ b/src/main/java/se/su/dsv/scipro/peer/panels/PeerReviewListPanel.html
@@ -12,8 +12,8 @@
                 <input wicket:id="filterAuthor"/>
                 <br/>
             </div>
-            <div class="span-4" wicket:id="statusFilter"></div>
-            <div class="span-4" wicket:id="supervisorContainer">
+            <div class="span-6" wicket:id="statusFilter"></div>
+            <div class="span-10" wicket:id="supervisorContainer">
                 <label>Show only my projects:</label>
                 <br>
                 <input type="checkbox" wicket:id="supervisorCheckBox"/>
diff --git a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/PeerRequestServiceImpl.java b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/PeerRequestServiceImpl.java
index 68004bc200..3f84e8a8a8 100644
--- a/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/PeerRequestServiceImpl.java
+++ b/src/main/java/se/su/dsv/scipro/springdata/serviceimpls/PeerRequestServiceImpl.java
@@ -15,7 +15,6 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import se.su.dsv.scipro.SciProSession;
 import se.su.dsv.scipro.data.dataobjects.Employee;
 import se.su.dsv.scipro.data.dataobjects.Project;
 import se.su.dsv.scipro.data.dataobjects.ProjectClass;
@@ -30,7 +29,6 @@ import se.su.dsv.scipro.springdata.services.PeerRequestService;
 
 import com.mysema.query.BooleanBuilder;
 import com.mysema.query.jpa.JPQLQuery;
-import com.mysema.query.jpa.hibernate.HibernateQuery;
 import com.mysema.query.jpa.impl.JPAQuery;
 import com.mysema.query.types.Predicate;
 import com.mysema.query.types.expr.BooleanExpression;