diff --git a/app/controllers/resources/resource.php b/app/controllers/resources/resource.php
index 202e763ca9f7d06886f50f2d06229033289e0b99..02ecacd1f8151015026f64306d53c55491b7aab1 100644
--- a/app/controllers/resources/resource.php
+++ b/app/controllers/resources/resource.php
@@ -27,7 +27,7 @@ class Resources_ResourceController extends AuthenticatedController
 
         $this->edit_global_permissions = false;
 
-        $this->resource_id_parameter = $args[0];
+        $this->resource_id_parameter = $args[0] ?? null;
 
         $this->resources = [];
         $this->resource_ids = [];
@@ -215,7 +215,7 @@ class Resources_ResourceController extends AuthenticatedController
 
     protected function addEditDeleteHandler($mode = 'add')
     {
-        $this->resource = $this->resources[0];
+        $this->resource = $this->resources[0] ?? null;
         $user = User::findCurrent();
 
         $this->show_form = false;
@@ -282,10 +282,11 @@ class Resources_ResourceController extends AuthenticatedController
             CSRFProtection::verifyUnsafeRequest();
             if (($mode == 'add') || ($mode == 'edit')) {
                 //Process submitted form:
-                $this->parent_id = $this->resource->parent_id;
                 if ($mode == 'add') {
                     $this->category_id = Request::get('category_id');
                     $this->parent_id = Request::get('parent_id', '');
+                } else {
+                    $this->parent_id = $this->resource->parent_id;
                 }
                 $this->name = Request::get('name');
                 $this->description = Request::get('description');
diff --git a/app/views/resources/resource/_add_edit_form.php b/app/views/resources/resource/_add_edit_form.php
index 661988e0930495fe7d945a322ea35065cdf54b77..b0214378d91be929d85e6130963f9c09f9848b3f 100644
--- a/app/views/resources/resource/_add_edit_form.php
+++ b/app/views/resources/resource/_add_edit_form.php
@@ -14,11 +14,11 @@
             <legend><?= _('Grunddaten') ?></legend>
             <label>
                 <?= _('Name') ?>
-                <input type="text" name="name" value="<?= htmlReady($name) ?>">
+                <input type="text" name="name" value="<?= !empty($name) ? htmlReady($name) : '' ?>">
             </label>
             <label>
                 <?= _('Beschreibungstext') ?>
-                <input type="text" name="description" value="<?= htmlReady($description) ?>">
+                <input type="text" name="description" value="<?= !empty($description) ? htmlReady($description) : '' ?>">
             </label>
             <? if ($GLOBALS['perm']->have_perm('root')): ?>
                 <label>
@@ -28,7 +28,7 @@
                 <label>
                     <?= _('Sortierposition') ?>
                     <input type="text" name="sort_position"
-                           value="<?= htmlReady($sort_position) ?>">
+                           value="<?= !empty($sort_position) ? htmlReady($sort_position) : '' ?>">
                 </label>
             <? endif ?>
         </fieldset>
diff --git a/lib/models/resources/ResourceCategory.php b/lib/models/resources/ResourceCategory.php
index cfe323a54df687e91b17c6e2a8d65f3f961a582a..44867bd99d197bb4023bcbbff89dcf241d960ed5 100644
--- a/lib/models/resources/ResourceCategory.php
+++ b/lib/models/resources/ResourceCategory.php
@@ -249,7 +249,8 @@ class ResourceCategory extends SimpleORMap
         ];
         $property_groups      = [];
         foreach ($definitions as $definition) {
-            if ($definition->group->name) {
+
+            if (!empty($definition->group->name)) {
                 $group_name = $definition->group->name;
                 if (!is_array($property_groups[$group_name])) {
                     $property_groups[$group_name] = [];