diff --git a/app/controllers/admin/tree.php b/app/controllers/admin/tree.php
index 1afc4383c74525999c44e3cb3313d61ba28438e5..c8f2a8f1c4add48e0b9cc9dcad1013fa182da69d 100644
--- a/app/controllers/admin/tree.php
+++ b/app/controllers/admin/tree.php
@@ -130,12 +130,15 @@ class Admin_TreeController extends AuthenticatedController
         $node->parent_id = Request::option('parent_id');
 
         $parent = $classname::getNode(Request::option('parent_id'));
-        $maxprio = max(array_map(
-            function ($c) {
-                return $c->priority;
-            },
-            $parent->getChildNodes()
-        ));
+        $children = $parent->getChildNodes();
+        $maxprio = !empty($children)
+            ? max(array_map(
+                function ($c) {
+                    return $c->priority;
+                },
+                $children
+            ))
+            : 0;
         $node->priority = $maxprio + 1;
 
         if (Request::option('studip_object_id')) {