Index: dbLearnStar-webApp/src/main/java/dblearnstar/webapp/pages/admin/Reevaluation.java
===================================================================
--- dbLearnStar-webApp/src/main/java/dblearnstar/webapp/pages/admin/Reevaluation.java	(revision 331f95fa091a27eae06162a5828df449d193b897)
+++ dbLearnStar-webApp/src/main/java/dblearnstar/webapp/pages/admin/Reevaluation.java	(revision 63d319f612b5792b68e2fb6cbd812970153a323c)
@@ -31,4 +31,5 @@
 
 import dblearnstar.model.entities.StudentSubmitSolution;
+import dblearnstar.model.entities.TaskInTestInstance;
 import dblearnstar.model.entities.TestInstance;
 import dblearnstar.model.model.UserInfo;
@@ -67,4 +68,7 @@
 	private TestInstance testInstance;
 
+	@Property
+	private TaskInTestInstance taskInTestInstance;
+
 	@Inject
 	Request request;
@@ -76,28 +80,23 @@
 
 	@CommitAfter
-	public void processSolution(StudentSubmitSolution s) {
-		evaluationService.processSolution(userInfo.getUserName(), s);
-	}
-
-	private void processListOfSubmissions(List<StudentSubmitSolution> list) {
-		list.forEach((studentSubmitSolution) -> {
-			try {
-				processSolution(studentSubmitSolution);
-			} catch (Exception e) {
-				logger.error("Fail evaluation for sssId: {}", studentSubmitSolution.getStudentSubmitSolutionId());
-			}
-		});
-	}
-
 	public void onActionFromReEvalTest(TestInstance selectedTestInstance) {
 		List<StudentSubmitSolution> list = evaluationService
 				.getAllSolutionsForEvalutionFromTestInstance(selectedTestInstance);
-		processListOfSubmissions(list);
+		evaluationService.reEvalListOfSubmissions(userInfo.getUserName(), list);
 		logger.info("Finished reEvalTest and processed {} entries", list.size());
 	}
 
+	@CommitAfter
+	public void onActionFromReEvalTaskInTestInstance(TaskInTestInstance taskInTestInstance) {
+		List<StudentSubmitSolution> list = evaluationService
+				.getAllSolutionsForEvalutionFromTaskInTestInstance(taskInTestInstance);
+		evaluationService.reEvalListOfSubmissions(userInfo.getUserName(), list);
+		logger.info("Finished reEvalTaskInTestInstance and processed {} entries", list.size());
+	}
+
+	@CommitAfter
 	public void onActionFromReEvalAll() {
 		List<StudentSubmitSolution> list = evaluationService.getAllSolutionsForEvaluation();
-		processListOfSubmissions(list);
+		evaluationService.reEvalListOfSubmissions(userInfo.getUserName(), list);
 		logger.info("Finished reEvalAll and processed {} entries", list.size());
 	}
Index: dbLearnStar-webApp/src/main/resources/dblearnstar/webapp/pages/admin/Reevaluation.tml
===================================================================
--- dbLearnStar-webApp/src/main/resources/dblearnstar/webapp/pages/admin/Reevaluation.tml	(revision 331f95fa091a27eae06162a5828df449d193b897)
+++ dbLearnStar-webApp/src/main/resources/dblearnstar/webapp/pages/admin/Reevaluation.tml	(revision 63d319f612b5792b68e2fb6cbd812970153a323c)
@@ -10,6 +10,19 @@
 			t:add="actions" t:exclude="testInstanceId, scheduledFor,description">
 			<p:actionsCell>
-				<a href="" t:type="actionLink" t:id="reEvalTest"
-					t:context="testInstance">${message:reevaluate-label}</a>
+				<div class="row">
+					<div class="col-12 mb-3">
+						<a href="" class="col-12 btn btn-sm btn-primary" t:type="actionLink"
+							t:id="reEvalTest" t:context="testInstance">${message:reevaluate-label}
+							ALL</a>
+					</div>
+					<div class="col-3 mb-2" t:type="loop"
+						t:source="testInstance.taskInTestInstances"
+						t:value="taskInTestInstance">
+						<a href="" class="btn btn-sm btn-secondary "
+							t:type="actionLink" t:id="reEvalTaskInTestInstance"
+							t:context="taskInTestInstance">${message:reevaluate-label}
+							${taskInTestInstance.task.title}</a>
+					</div>
+				</div>
 			</p:actionsCell>
 		</table>
