diff --git a/css/vips.css b/css/vips.css
index c4b3f7b7adcdc4fdd956b63b8cff6c7b97cace10..2abe928343672428dad018bcac39aed5fed6f641 100644
--- a/css/vips.css
+++ b/css/vips.css
@@ -635,3 +635,17 @@ button.vips_file_upload:hover {
     padding: 6px 10px;
     width: 100%;
 }
+
+.ls-scale-col {
+    text-align: center;
+}
+
+@media (min-width: 768px) {
+    .ls-item-col {
+        width: 45%;
+    }
+    table td.ls-scale-col {
+        width: 5%;
+        text-align: center;
+    }
+}
\ No newline at end of file
diff --git a/exercises/ls_exercise.php b/exercises/ls_exercise.php
index d17e70e33f0c68f6ac1f7b56ac2ce74b11bee860..2e234b2d6f2681f607c081b076fc59e9cca9c62e 100644
--- a/exercises/ls_exercise.php
+++ b/exercises/ls_exercise.php
@@ -18,8 +18,7 @@ class ls_exercise extends Exercise
      */
     public static function getTypeIcon($role = Icon::DEFAULT_ROLE)
     {
-        // TODO change icon
-        return Icon::create('likert', $role);
+        return Icon::create('question-likert', $role);
     }
 
     /**
@@ -93,6 +92,7 @@ class ls_exercise extends Exercise
                 $this->task['group'][] = $task;
             }
         }
+        sort($categories);
         $this->task['categories'] = $categories;
     }
 
@@ -297,7 +297,7 @@ class ls_exercise extends Exercise
         if (!$this->task) {
             $this->task['scale'] = 5;
             $this->task['labels'] = ['0' => ''];
-            $this->task['scalepoints'] = array_fill(0, 4, 1);
+            $this->task['scalepoints'] = array_fill(0, 5, 1);
             $this->task['group'][0]['answers'] = array_fill(0, 5, ['text' => '', 'score' => 2, 'category' => 1]);
         }
 
diff --git a/views/exercises/ls_exercise/correct.php b/views/exercises/ls_exercise/correct.php
index 0049545efa04d5ea44fed541d7a8b30f4bcf5144..a57322b390f26239b4a52fd125e41092a283578f 100644
--- a/views/exercises/ls_exercise/correct.php
+++ b/views/exercises/ls_exercise/correct.php
@@ -20,9 +20,9 @@
     <tbody class="dynamic_list" role="list">
     <? foreach ($task['answers'] as $key => $entry): ?>
         <tr role="listitem">
-            <td class="dynamic_counter"> <?= htmlReady($entry['text']) ?></td>
+            <td class="dynamic_counter ls-item-col"> <?= htmlReady($entry['text']) ?></td>
             <? for ($i = 0; $i < $exercise->task['scale']; $i++): ?>
-                <td style="text-align: center;">
+                <td class="ls-scale-col">
                         <? if($response[$group][$key] == $i): ?>
                             <?= Assets::img(vips_image_url('choice_checked.svg')) ?>
                         <? endif ?>
diff --git a/views/exercises/ls_exercise/edit.php b/views/exercises/ls_exercise/edit.php
index d8e9310eeec2f642b7f618c71d73ddfa874976fb..399e54d0faa41d6137d32dd9258384fdcf7f5956 100644
--- a/views/exercises/ls_exercise/edit.php
+++ b/views/exercises/ls_exercise/edit.php
@@ -1,8 +1,8 @@
 <div class="hgroup">
     <label>
         <?= _vips('Skala Stufen') ?>
-        <input type="number" id="scale-length" name="scale" min="<?= htmlReady((int) $exercise->task['scale']) ?>"
-            value="<?= htmlReady((int) $exercise->task['scale']) ?>">
+        <input type="number" id="scale-length" name="scale" min="<?= htmlReady($exercise->task['scale']) ?>"
+            value="<?= htmlReady($exercise->task['scale']) ?>">
     </label>
 </div>
 
diff --git a/views/exercises/ls_exercise/evaluation.php b/views/exercises/ls_exercise/evaluation.php
index ef448719db4180a26f3967add1b6b76682b074bd..351fa8e50a023e3ec50d3a2688615555163cde89 100644
--- a/views/exercises/ls_exercise/evaluation.php
+++ b/views/exercises/ls_exercise/evaluation.php
@@ -13,9 +13,12 @@
             <td><?= htmlReady($category) ?></td>
             <td>
                 <? foreach ($exercise->task['group'] as $group => $answers): ?>
-                    <? if (count($exercise->task['group']) > 1): ?><?= sprintf(_vips('Block %s'), $group+1) ?>: <? endif ?>
- 
-                    <?= implode(", ", $exercise->getCategoryItems($category, $group)) ?>
+                    <? if (count($exercise->getCategoryItems($category, $group)) > 0): ?>
+                        <? if (count($exercise->task['group']) > 1): ?>
+                            <?= sprintf(_vips('Block %s'), $group+1) ?>:
+                        <? endif ?>
+                            <?= implode(", ", $exercise->getCategoryItems($category, $group)) ?>
+                    <? endif ?>
                 <? endforeach ?>
             </td>
             <td>
diff --git a/views/exercises/ls_exercise/solve.php b/views/exercises/ls_exercise/solve.php
index 0688fa2733872d7819b6bb95c426260906eb45b3..f85e76bca5505f3a639fbf761520e45a941d9059 100644
--- a/views/exercises/ls_exercise/solve.php
+++ b/views/exercises/ls_exercise/solve.php
@@ -20,9 +20,9 @@
     <tbody>
     <? foreach ($task['answers'] as $key => $entry): ?>
         <tr role="listitem">
-            <td><?= htmlReady($entry['text']) ?></td>
+            <td class="ls-item-col"><?= htmlReady($entry['text']) ?></td>
             <? for ($i = 0; $i < $exercise->task['scale']; $i++): ?>
-                <td style="text-align: center;">
+                <td class="ls-scale-col">
                     <input type="radio" name="answer[<?= $group ?>][<?= $key ?>]" value="<?= $i ?>"
                         <? if($response[$group][$key] === $i): ?>checked<? endif ?>>
                 </td>
diff --git a/views/sheets/show_exercise.php b/views/sheets/show_exercise.php
index 97136943732e827de7f0c4ac6c2938021a934ac2..735fa391cdd038e6e7fbd147ac33f297b8b2dd4b 100644
--- a/views/sheets/show_exercise.php
+++ b/views/sheets/show_exercise.php
@@ -56,9 +56,11 @@
 
             <div class="description">
                 <? if ($exercise->type === 'ls_exercise'): ?>
-                <?= $this->render_partial('exercises/ls_exercise/evaluation') ?>
+                    <? if ($GLOBALS['perm']->have_perm('dozent')): ?>
+                    <?= $this->render_partial('exercises/ls_exercise/evaluation') ?>
+                    <? endif ?>
                 <? else: ?>
-                <?= sprintf(_vips('Erreichte Punkte: %s von %s'), (float) $reached_points, (float) $max_points) ?>
+                    <?= sprintf(_vips('Erreichte Punkte: %s von %s'), (float) $reached_points, (float) $max_points) ?>
                 <? endif ?>
             </div>
         </fieldset>