diff --git a/trigger/categories/lib.php b/trigger/categories/lib.php
index 64381756146aaf8b921f90126654e3ccd98fd103..b44376f6ab1d4c4d263a7782fef0c7d677b0669b 100644
--- a/trigger/categories/lib.php
+++ b/trigger/categories/lib.php
@@ -27,6 +27,7 @@ use coursecat;
 use tool_lifecycle\local\manager\settings_manager;
 use tool_lifecycle\local\response\trigger_response;
 use tool_lifecycle\settings_type;
+use core_course_category;
 
 defined('MOODLE_INTERNAL') || die();
 require_once(__DIR__ . '/../lib.php');
@@ -116,19 +117,14 @@ class categories extends base_automatic {
      * @throws \dml_exception
      */
     public function extend_add_instance_form_definition($mform) {
-        global $DB;
-        $categories = $DB->get_records('course_categories');
-        $categorynames = array();
-        foreach ($categories as $category) {
-            $categorynames[$category->id] = $category->name;
-        }
+        $displaylist = core_course_category::make_categories_list();
         $options = array(
             'multiple' => true,
             'noselectionstring' => get_string('categories_noselection', 'lifecycletrigger_categories'),
         );
         $mform->addElement('autocomplete', 'categories',
             get_string('categories', 'lifecycletrigger_categories'),
-            $categorynames, $options);
+            $displaylist, $options);
         $mform->setType('categories', PARAM_SEQUENCE);
 
         $mform->addElement('advcheckbox', 'exclude', get_string('exclude', 'lifecycletrigger_categories'));