diff --git a/controllers/pool.php b/controllers/pool.php
index 2747204094ea5632622b1fba43a17ae261a9dae5..008ff507cb7fe1c74bea65c1963ed371a15ef120 100644
--- a/controllers/pool.php
+++ b/controllers/pool.php
@@ -169,7 +169,7 @@ class PoolController extends StudipController
         }
 
         // set up the sql query for the quicksearch
-        $sql = "SELECT vips_test.id, vips_test.title FROM vips_test
+        $sql = "SELECT vips_assignment.id, vips_test.title FROM vips_test
                 JOIN vips_assignment ON vips_test.id = vips_assignment.test_id
                 WHERE vips_assignment.course_id IN ('" . implode("','", $course_ids) . "')
                   AND (vips_test.title LIKE :input OR vips_test.description LIKE :input)
@@ -260,15 +260,11 @@ class PoolController extends StudipController
         $search_string = $search_filter['search_string'];
         $assignment_type = $search_filter['assignment_type'];
 
-        $sql = "SELECT vips_test.*,
+        $sql = "SELECT vips_assignment.*,
+                       vips_test.title AS test_title,
+                       vips_test.created,
                        auth_user_md5.Nachname,
                        auth_user_md5.Vorname,
-                       vips_assignment.type,
-                       vips_assignment.start,
-                       vips_assignment.end,
-                       vips_assignment.id AS assignment_id,
-                       vips_assignment.course_id,
-                       vips_assignment.context,
                        seminare.Name,
                        semester_data.name AS sem_name
                 FROM vips_test
diff --git a/controllers/sheets.php b/controllers/sheets.php
index 2e70d0d591efb8918aefe3d18e44c74483c8845c..6e81c8c316b43f8540943e2b34ca44c3aaa7667c 100644
--- a/controllers/sheets.php
+++ b/controllers/sheets.php
@@ -983,7 +983,7 @@ class SheetsController extends StudipController
             PageLayout::postSuccess(_vips('Die Klausur wurde zurückgesetzt und alle abgegebenen Lösungen archiviert.'));
         }
 
-        $this->redirect('sheets');
+        $this->redirect(Context::getId() ? 'sheets' : 'pool/assignments');
     }
 
 
diff --git a/lib/vips_common.inc.php b/lib/vips_common.inc.php
index 1cf92668e9d553b6abfebee680495b47be90721a..8703ed0d412f1341b7ade82e12699a4c87ae51cf 100644
--- a/lib/vips_common.inc.php
+++ b/lib/vips_common.inc.php
@@ -237,17 +237,6 @@ function vips_contents_nav_path()
     }
 }
 
-/**
- * Get a (clickable) icon for a test with the given type.
- */
-function vips_test_icon($type, $role = 'clickable')
-{
-    $assignment_types = VipsAssignment::getAssignmentTypes();
-
-    return Icon::create($assignment_types[$type]['icon'], $role,
-                        ['title' => $assignment_types[$type]['name']]);
-}
-
 /**
  * UTF-8 compatible version of standard PHP levenshtein function.
  */
diff --git a/views/pool/list_assignments.php b/views/pool/list_assignments.php
index 45f5886d5b08d065211eaf9825e9ba34870bb521..3ace918702386402e9bb10fd00028281801026da 100644
--- a/views/pool/list_assignments.php
+++ b/views/pool/list_assignments.php
@@ -58,16 +58,17 @@
 
         <tbody>
             <? foreach ($assignments as $assignment): ?>
+                <? $assignment_obj = VipsAssignment::buildExisting($assignment) ?>
                 <? $course_id = $assignment['context'] === 'course' ? $assignment['course_id'] : null ?>
                 <tr>
                     <td>
-                        <input class="batch_select" type="checkbox" name="assignment_ids[]" value="<?= $assignment['assignment_id'] ?>" aria-label="<?= _vips('Zeile auswählen') ?>">
+                        <input class="batch_select" type="checkbox" name="assignment_ids[]" value="<?= $assignment['id'] ?>" aria-label="<?= _vips('Zeile auswählen') ?>">
                     </td>
 
                     <td>
-                        <a href="<?= $controller->link_for('sheets/edit_assignment', ['cid' => $course_id, 'assignment_id' => $assignment['assignment_id']]) ?>">
-                            <?= vips_test_icon($assignment['type']) ?>
-                            <?= htmlReady($assignment['title']) ?>
+                        <a href="<?= $controller->link_for('sheets/edit_assignment', ['cid' => $course_id, 'assignment_id' => $assignment['id']]) ?>">
+                            <?= $assignment_obj->getTypeIcon() ?>
+                            <?= htmlReady($assignment['test_title']) ?>
                         </a>
                     </td>
 
@@ -97,22 +98,29 @@
 
                     <td class="actions">
                         <? $menu = ActionMenu::get(); ?>
-                        <? $menu->addLink($controller->url_for('sheets/show_assignment', ['cid' => $course_id, 'assignment_id' => $assignment['assignment_id']]),
+                        <? $menu->addLink($controller->url_for('sheets/show_assignment', ['cid' => $course_id, 'assignment_id' => $assignment['id']]),
                                _vips('Studierendensicht anzeigen'), Icon::create('community')
                            ) ?>
 
-                        <? $menu->addLink($controller->url_for('sheets/print_assignments', ['assignment_id' => $assignment['assignment_id']]),
+                        <? $menu->addLink($controller->url_for('sheets/print_assignments', ['assignment_id' => $assignment['id']]),
                                _vips('Aufgabenblatt drucken'), Icon::create('print'), ['target' => '_blank']
                            ) ?>
 
-                        <? $menu->addLink($controller->url_for('sheets/copy_assignments_dialog', ['assignment_ids[]' => $assignment['assignment_id']]),
+                        <? $menu->addLink($controller->url_for('sheets/copy_assignments_dialog', ['assignment_ids[]' => $assignment['id']]),
                                _vips('Aufgabenblatt kopieren'), Icon::create(vips_image_url('copy.svg')), ['data-dialog' => 'size=auto']
                            ) ?>
 
-                        <? $menu->addButton('delete', _vips('Aufgabenblatt löschen'), Icon::create('trash'), [
-                               'formaction' => $controller->url_for('sheets/delete_assignments', ['assignment_ids[]' => $assignment['assignment_id']]),
-                               'data-confirm' => sprintf(_vips('Wollen Sie wirklich das Aufgabenblatt "%s" löschen?'), $assignment['title'])
-                           ]) ?>
+                        <? if ($assignment_obj->isLocked()): ?>
+                            <? $menu->addButton('reset', _vips('Alle Lösungen zurücksetzen'), Icon::create('refresh'), [
+                                   'formaction' => $controller->url_for('sheets/reset_assignment', ['assignment_id' => $assignment['id']]),
+                                   'data-confirm'  => _vips('Achtung: Wenn Sie die Lösungen zurücksetzen, werden die Lösungen aller Teilnehmer archiviert!')
+                               ]) ?>
+                        <? else: ?>
+                            <? $menu->addButton('delete', _vips('Aufgabenblatt löschen'), Icon::create('trash'), [
+                                   'formaction' => $controller->url_for('sheets/delete_assignments', ['assignment_ids[]' => $assignment['id']]),
+                                   'data-confirm' => sprintf(_vips('Wollen Sie wirklich das Aufgabenblatt "%s" löschen?'), $assignment['test_title'])
+                               ]) ?>
+                        <? endif ?>
                         <?= $menu->render() ?>
                     </td>
                 </tr>