diff --git a/app/controllers/course/wizard.php b/app/controllers/course/wizard.php
index fed36cc1a34788f008078c21272e0ada8119946e..a348b9f11c366039a9af9b88132b3f4d1abca4e0 100644
--- a/app/controllers/course/wizard.php
+++ b/app/controllers/course/wizard.php
@@ -108,6 +108,8 @@ class Course_WizardController extends AuthenticatedController
      */
     public function process_action($step_number, $temp_id)
     {
+        $stop = false;
+        $next_step = 0;
         $this->temp_id = $temp_id;
         // Get request data and store it in session.
         $iterator = Request::getInstance()->getIterator();
@@ -230,7 +232,7 @@ class Course_WizardController extends AuthenticatedController
         }
         if (!$stop) {
             // We are after the last step -> all done, show summary.
-            if ($next_step >= sizeof($this->steps)) {
+            if ($next_step >= count($this->steps)) {
                 $this->redirect($this->url_for('course/wizard/summary', $next_step, $temp_id));
             // Redirect to next step.
             } else {
@@ -246,6 +248,7 @@ class Course_WizardController extends AuthenticatedController
     {
         $this->stepnumber = $stepnumber;
         $this->temp_id = $temp_id;
+        $this->source_course = null;
         if (!$this->getValues()) {
             PageLayout::postError(_('Ihre Session ist abgelaufen, bitte erneut anfangen.'));
             $this->redirect('course/wizard');
diff --git a/app/views/course/wizard/step.php b/app/views/course/wizard/step.php
index 6d6e6faeb87f0bf7ee9c3ebd3b0e8cb1a5b97629..0fe1dfcdb09b10cfc7944f068b136463e56d504f 100644
--- a/app/views/course/wizard/step.php
+++ b/app/views/course/wizard/step.php
@@ -16,7 +16,7 @@
 
         <footer data-dialog-button>
             <input type="hidden" name="step" value="<?= $stepnumber ?>">
-        <? if (!$first_step): ?>
+        <? if (empty($first_step)): ?>
             <?= Studip\Button::create(
                 _('Zurück'),
                 'back',
diff --git a/app/views/course/wizard/steps/studyareas/_node.php b/app/views/course/wizard/steps/studyareas/_node.php
index 00238a436eae32c74a09ee8d086ab85903e8960f..b29f564a0b3a582501d682e5d92baf605142e643 100644
--- a/app/views/course/wizard/steps/studyareas/_node.php
+++ b/app/views/course/wizard/steps/studyareas/_node.php
@@ -1,7 +1,7 @@
 <?php if (empty($search_result) || in_array($node->id, $search_result)) : ?>
 <li class="sem-tree-<?= htmlReady($node->id) ?> keep-node" data-id="<?= $node->id ?>">
     <?php if ($node->isAssignable()) : ?>
-    <?= Icon::create('arr_2left', 'sort')->asInput(["name" => 'assign['.$node->id.']', "onclick" => "return STUDIP.CourseWizard.assignNode('".$node->id."')", "class" => in_array($node->id,$values['studyareas']?:[])?'hidden-no-js':'', "style" => in_array($node->id,$values['studyareas']?:[])?'display:none':false]) ?>
+    <?= Icon::create('arr_2left', 'sort')->asInput(["name" => 'assign['.$node->id.']', "onclick" => "return STUDIP.CourseWizard.assignNode('".$node->id."')", "class" => in_array($node->id, $values['studyareas'] ??[])?'hidden-no-js':'', "style" => in_array($node->id, $values['studyareas'] ?? [])?'display:none':false]) ?>
     <?php endif ?>
     <?php if ($node->hasChildren()) : ?>
     <input type="checkbox" id="<?= htmlReady($node->id) ?>"<?= (in_array($node->id, $open_nodes) && $node->parent_id != $values['open_node']) ? ' checked="checked"' : '' ?>/>
diff --git a/app/views/course/wizard/summary.php b/app/views/course/wizard/summary.php
index 57ca726d17da7f6d94888cbef466aae420b60f75..423ad18350c826bce1920390eef53167f85c233e 100644
--- a/app/views/course/wizard/summary.php
+++ b/app/views/course/wizard/summary.php
@@ -40,7 +40,7 @@
 </fieldset>
 
     <footer data-dialog-button>
-    <? if ($_SESSION['coursewizard'][$this->temp_id]['batchcreate']) : ?>
+    <? if (isset($_SESSION['coursewizard'][$this->temp_id]['batchcreate'])) : ?>
         <? foreach ($_SESSION['coursewizard'][$this->temp_id]['batchcreate'] as $key => $value) : ?>
             <input type="hidden" name="batchcreate[<?= $key ?>]" value="<?= $value ?>">
         <? endforeach ?>
diff --git a/lib/classes/coursewizardsteps/StudyAreasWizardStep.php b/lib/classes/coursewizardsteps/StudyAreasWizardStep.php
index 668a54e0928dfd0279e8867a11996a2fb75e6a01..f81ce41c7aa60bf49e626a9ec7e0df1308d06fa1 100644
--- a/lib/classes/coursewizardsteps/StudyAreasWizardStep.php
+++ b/lib/classes/coursewizardsteps/StudyAreasWizardStep.php
@@ -143,7 +143,7 @@ class StudyAreasWizardStep implements CourseWizardStep
         $values = $values[get_class($this)];
         $ok = true;
         $errors = [];
-        if (!$values['studyareas']) {
+        if (empty($values['studyareas'])) {
             $ok = false;
             $errors[] = _('Die Veranstaltung muss mindestens einem Studienbereich zugeordnet sein.');
         }