diff --git a/app/controllers/course/contentmodules.php b/app/controllers/course/contentmodules.php
index 7fbb487a5e8c1b0bafc815fbdd43f1399be9c9d5..1259ef2a5bacc7a131741d45e47e8be74a8c37fc 100644
--- a/app/controllers/course/contentmodules.php
+++ b/app/controllers/course/contentmodules.php
@@ -113,7 +113,7 @@ class Course_ContentmodulesController extends AuthenticatedController
             }
             $moduleclass = Request::get('moduleclass');
             $active = Request::bool('active', false);
-            $module = new $moduleclass;
+            $module = PluginEngine::getPlugin($moduleclass);
             if ($module->isActivatableForContext($context)) {
                 PluginManager::getInstance()->setPluginActivated($module->getPluginId(), $context->getId(), $active);
             }
@@ -177,7 +177,7 @@ class Course_ContentmodulesController extends AuthenticatedController
         }
 
         $moduleclass = Request::get('moduleclass');
-        $module = new $moduleclass;
+        $module = PluginEngine::getPlugin($moduleclass);
 
         $active_tool = ToolActivation::find([$context->id, $module->getPluginId()]);
         $metadata = $active_tool->metadata->getArrayCopy();