diff --git a/models/classes/runner/config/QtiRunnerConfig.php b/models/classes/runner/config/QtiRunnerConfig.php
index <HASH>..<HASH> 100644
--- a/models/classes/runner/config/QtiRunnerConfig.php
+++ b/models/classes/runner/config/QtiRunnerConfig.php
@@ -159,7 +159,7 @@ class QtiRunnerConfig extends ConfigurableService implements RunnerConfig
         ];
 
         // get the options from the categories owned by the current item
-        $categories = $context->getCurrentAssessmentItemRef()->getCategories()->getArrayCopy();
+        $categories = $this->getCategories($context);
         $prefixCategory = 'x-tao-option-';
         $prefixCategoryLen = strlen($prefixCategory);
         foreach ($categories as $category) {
@@ -188,4 +188,17 @@ class QtiRunnerConfig extends ConfigurableService implements RunnerConfig
         }
         return $this->options;
     }
+    
+    /**
+     * Get Categories.
+     * 
+     * Get the categories of the current AssessmentItemRef in the route depending on a given $context.
+     * 
+     * @param RunnerServiceContext $context
+     * @return array An array of strings.
+     */
+    protected function getCategories(RunnerServiceContext $context)
+    {
+        return $context->getCurrentAssessmentItemRef()->getCategories()->getArrayCopy();
+    }
 }
Refactoring: put categories retrieval in an overridable method.