diff --git a/question/engine/upgrade/upgradelib.php b/question/engine/upgrade/upgradelib.php
index <HASH>..<HASH> 100644
--- a/question/engine/upgrade/upgradelib.php
+++ b/question/engine/upgrade/upgradelib.php
@@ -357,7 +357,8 @@ class question_engine_attempt_upgrader {
                 return 'qbehaviour_manualgraded_converter';
             }
         }
-        if ($question->qtype == 'essay') {
+        $qtype = question_bank::get_qtype($question->qtype, false);
+        if ($qtype->is_manual_graded()) {
             return 'qbehaviour_manualgraded_converter';
         } else if ($question->qtype == 'description') {
             return 'qbehaviour_informationitem_converter';
MDL-<I> Question upgrade now correctly handles non-core manually-graded question types