diff --git a/course/management.php b/course/management.php index 492a9f10718..ad74a3e2f3b 100644 --- a/course/management.php +++ b/course/management.php @@ -316,7 +316,8 @@ if ($action !== false && confirm_sesskey()) { $notificationsfail[] = get_string('movecategoryownparent', 'error', $cattomove->get_formatted_name()); continue; } - if (strpos($movetocat->path, $cattomove->path) === 0) { + // Don't allow user to move selected category into one of it's own sub-categories. + if (strpos($movetocat->path, $cattomove->path . '/') === 0) { $notificationsfail[] = get_string('movecategoryparentconflict', 'error', $cattomove->get_formatted_name()); continue; }