diff --git a/app/views/course/contentmodules/info.php b/app/views/course/contentmodules/info.php
index 63374e3f35d89f363c51340a4b279c73d81e7ec4..111a6114e42007c53d1cfcd9cdb273e52014d947 100644
--- a/app/views/course/contentmodules/info.php
+++ b/app/views/course/contentmodules/info.php
@@ -6,15 +6,20 @@
             <div class="header">
                 <div class="image">
                     <?
-                    $icon = $metadata['icon'];
-                    if (!$icon) {
-                        $icon = Icon::create('plugin', Icon::ROLE_INFO);
+                    if ($metadata['icon']) {
+                        $icon = $metadata['icon'] instanceof Icon
+                            ? $metadata['icon']->asImagePath()
+                            : Icon::create($plugin->getPluginURL().'/'.$metadata['icon'])->asImagePath();
+                    } else {
+                        $icon = null;
                     }
-                    if (!is_a($icon, 'Icon')) {
+                    if ($icon && !is_a($icon, 'Icon')) {
                         $icon = Icon::create($icon);
                     }
                     ?>
-                    <?= $icon->asImg(100) ?>
+                    <? if ($icon) : ?>
+                        <?= $icon->asImg(100) ?>
+                    <? endif ?>
                 </div>
                 <div class="text">
                     <h1><?= htmlReady($metadata['displayname'] ?? $plugin->getPluginName()) ?></h1>