diff --git a/lib/models/Folder.php b/lib/models/Folder.php
index b73571c133f9c20fd842c151c058d0804a4b3f38..1c7a13ea49a201968e92cfb030b730c7fd3c1f8d 100644
--- a/lib/models/Folder.php
+++ b/lib/models/Folder.php
@@ -119,6 +119,16 @@ class Folder extends SimpleORMap implements FeedbackRange
      */
     public static function createTopFolder($range_id, $range_type, $folder_type = 'RootFolder')
     {
+        $creator_id = User::findCurrent()->id;
+
+        try {
+            $range = RangeFactory::createRange($range_type, $range_id);
+            if (!$range->isEditableByUser()) {
+                $creator_id = '';
+            }
+        } catch (Exception $e) {
+        }
+
         return self::create([
             'parent_id'    => '',
             'range_id'     => $range_id,
@@ -127,7 +137,7 @@ class Folder extends SimpleORMap implements FeedbackRange
             'name'         => '',
             'data_content' => '',
             'folder_type'  => $folder_type,
-            'user_id'      => $GLOBALS['user']->id
+            'user_id'      => $creator_id,
         ]);
     }