diff --git a/src/app/folder/controllers/FolderController.php b/src/app/folder/controllers/FolderController.php
index 87b73461994e83c12d6df40301bb54101b7a180c..ae9ae610b424869a42f5be142b0b23ef8f151bce 100755
--- a/src/app/folder/controllers/FolderController.php
+++ b/src/app/folder/controllers/FolderController.php
@@ -207,13 +207,15 @@ class FolderController
             $data['parent_id'] = null;
             $level = 0;
         } else {
-            $folder = FolderController::getScopeFolders(['login' => $GLOBALS['userId'], 'folderId' => $data['parent_id']]);
-            if (empty($folder[0])) {
+            $folderParent = FolderController::getScopeFolders(['login' => $GLOBALS['userId'], 'folderId' => $data['parent_id']]);
+            if (empty($folderParent[0])) {
                 return $response->withStatus(400)->withJson(['errors' => 'Parent Folder not found or out of your perimeter']);
             }
-            $level = $folder[0]['level'] + 1;
+            $level = $folderParent[0]['level'] + 1;
         }
 
+        $this->updateChildren($aArgs['id'], $level);
+
         FolderModel::update([
             'set' => [
                 'label'      => $data['label'],
@@ -674,4 +676,27 @@ class FolderController
         }
         return false;
     }
+
+    private function updateChildren($parentId, $levelParent)
+    {
+        $folderChild = FolderModel::getChild(['id' => $parentId]);
+        if (!empty($folderChild)) {
+
+            $level = -1;
+            foreach ($folderChild as $child) {
+                $level = $levelParent + 1;
+                $this->updateChildren($child['id'], $level);
+            }
+
+            $idsChildren = array_column($folderChild, 'id');
+
+            FolderModel::update([
+                'set' => [
+                    'level' => $level
+                ],
+                'where' => ['id in (?)'],
+                'data' => [$idsChildren]
+            ]);
+        }
+    }
 }