diff --git a/lib/classes/ModulesNotification.class.php b/lib/classes/ModulesNotification.class.php
index a4d81aaa8788e753da471a60fc1dde023c15f542..f2f4ddccd70e75e4c5866be3f6e0b69c369bb931 100644
--- a/lib/classes/ModulesNotification.class.php
+++ b/lib/classes/ModulesNotification.class.php
@@ -55,7 +55,8 @@ class ModulesNotification
                 $this->registered_notification_modules[$id]['icon'] = Icon::create('news');
             }
             if (!is_object($this->registered_notification_modules[$id]['icon'])) {
-                $this->registered_notification_modules[$id]['icon'] = Icon::create($this->registered_notification_modules[$id]['icon']);
+                $icon = $module->getPluginURL() . '/' . $this->registered_notification_modules[$id]['icon'];
+                $this->registered_notification_modules[$id]['icon'] = Icon::create($icon);
             }
         }
         $this->registered_notification_modules[-1] =
diff --git a/public/plugins_packages/core/Forum/img/anfasser_48.png b/public/assets/images/anfasser_48.png
similarity index 100%
rename from public/plugins_packages/core/Forum/img/anfasser_48.png
rename to public/assets/images/anfasser_48.png
diff --git a/public/plugins_packages/core/Blubber/Blubber.class.php b/public/plugins_packages/core/Blubber/Blubber.class.php
index a6f0443de35dfded38c9360f01824dd9b2ddec58..ce317ad24ba1e0d3c6c0411f28e640ee9995d721 100644
--- a/public/plugins_packages/core/Blubber/Blubber.class.php
+++ b/public/plugins_packages/core/Blubber/Blubber.class.php
@@ -14,6 +14,14 @@
  */
 class Blubber extends StudIPPlugin implements StandardPlugin
 {
+    /**
+     * Plugin URL for CorePlugins is ABSOLUTE_URI_STUDIP.
+     */
+    public function getPluginURL()
+    {
+        return $GLOBALS['ABSOLUTE_URI_STUDIP'];
+    }
+
     /**
      * Returns a navigation for the tab displayed in the course.
      * @param string $course_id of the course
diff --git a/public/plugins_packages/core/Forum/CoreForum.class.php b/public/plugins_packages/core/Forum/CoreForum.class.php
index 520da03d9df4f7707824a79d9cb2fcc6cf5aa983..9ab7b4f05d166da00226ffd4e436045c0bd21e69 100644
--- a/public/plugins_packages/core/Forum/CoreForum.class.php
+++ b/public/plugins_packages/core/Forum/CoreForum.class.php
@@ -31,17 +31,11 @@ NotificationCenter::addObserver('ForumActivity', 'deleteEntry', 'ForumBeforeDele
 class CoreForum extends StudipPlugin implements ForumModule
 {
     /**
-     * This method dispatches all actions.
-     *
-     * @param string $unconsumed_path  part of the dispatch path that was not consumed
+     * Plugin URL for CorePlugins is ABSOLUTE_URI_STUDIP.
      */
-    public function perform($unconsumed_path)
+    public function getPluginURL()
     {
-        // Add JS and StyleSheet to header
-        $this->addScript('javascript/forum.js');
-        $this->addStylesheet('stylesheets/forum.scss');
-
-        parent::perform($unconsumed_path);
+        return $GLOBALS['ABSOLUTE_URI_STUDIP'];
     }
 
     /* interface method */
diff --git a/public/plugins_packages/core/Forum/controllers/forum_controller.php b/public/plugins_packages/core/Forum/controllers/forum_controller.php
index ee482ccefd681fed8dca95557a1aff876f90da8f..d25aa554c60b46443f087154cb35e41c62e942c7 100644
--- a/public/plugins_packages/core/Forum/controllers/forum_controller.php
+++ b/public/plugins_packages/core/Forum/controllers/forum_controller.php
@@ -46,13 +46,6 @@ class ForumController extends StudipController {
         PageLayout::setHelpKeyword('Basis.Forum');
         PageLayout::setTitle(Context::getHeaderLine() .' - '. _('Forum'));
 
-        $this->AVAILABLE_DESIGNS = ['web20', 'studip'];
-        if ($GLOBALS['CANONICAL_RELATIVE_PATH_STUDIP'] && $GLOBALS['CANONICAL_RELATIVE_PATH_STUDIP'] != '/') {
-            $this->picturepath = $GLOBALS['CANONICAL_RELATIVE_PATH_STUDIP'] .'/'. $this->dispatcher->trails_root . '/img';
-        } else {
-            $this->picturepath = '/'. $this->dispatcher->trails_root . '/img';
-        }
-
         // the default for displaying timestamps
         $this->time_format_string = "%a %d. %B %Y, %H:%M";
         $this->time_format_string_short = "%d.%m.%Y, %H:%M";
diff --git a/public/plugins_packages/core/Forum/img/accept.png b/public/plugins_packages/core/Forum/img/accept.png
deleted file mode 100644
index 78b7d42665b5c29e839faad9bdbfc814f5fb84e7..0000000000000000000000000000000000000000
Binary files a/public/plugins_packages/core/Forum/img/accept.png and /dev/null differ
diff --git a/public/plugins_packages/core/Forum/img/anfasser_24.png b/public/plugins_packages/core/Forum/img/anfasser_24.png
deleted file mode 100644
index 2332e02ba430f11fbdd811b332da84f7619ce10b..0000000000000000000000000000000000000000
Binary files a/public/plugins_packages/core/Forum/img/anfasser_24.png and /dev/null differ
diff --git a/public/plugins_packages/core/Forum/img/community.png b/public/plugins_packages/core/Forum/img/community.png
deleted file mode 100644
index e7e1ae0263416df144ed0d6761116500243586a6..0000000000000000000000000000000000000000
Binary files a/public/plugins_packages/core/Forum/img/community.png and /dev/null differ
diff --git a/public/plugins_packages/core/Forum/img/corners_left.png b/public/plugins_packages/core/Forum/img/corners_left.png
deleted file mode 100644
index 256bde3daa62be78f5ba32f324fda6090183a2ce..0000000000000000000000000000000000000000
Binary files a/public/plugins_packages/core/Forum/img/corners_left.png and /dev/null differ
diff --git a/public/plugins_packages/core/Forum/img/corners_left_red.png b/public/plugins_packages/core/Forum/img/corners_left_red.png
deleted file mode 100644
index d3714b538f52b7de6eb6e2dd3c1fdeeeaa29c7c4..0000000000000000000000000000000000000000
Binary files a/public/plugins_packages/core/Forum/img/corners_left_red.png and /dev/null differ
diff --git a/public/plugins_packages/core/Forum/img/corners_right.png b/public/plugins_packages/core/Forum/img/corners_right.png
deleted file mode 100644
index df41823b4cb013ebcefd2ee446efa9a6f3a48a10..0000000000000000000000000000000000000000
Binary files a/public/plugins_packages/core/Forum/img/corners_right.png and /dev/null differ
diff --git a/public/plugins_packages/core/Forum/img/corners_right_red.png b/public/plugins_packages/core/Forum/img/corners_right_red.png
deleted file mode 100644
index a479ee2dffe4d5a4c08b15b872a2b39029e616c3..0000000000000000000000000000000000000000
Binary files a/public/plugins_packages/core/Forum/img/corners_right_red.png and /dev/null differ
diff --git a/public/plugins_packages/core/Forum/img/decline.png b/public/plugins_packages/core/Forum/img/decline.png
deleted file mode 100644
index 768cc36be6c049fab09428dda28468b1118f4e04..0000000000000000000000000000000000000000
Binary files a/public/plugins_packages/core/Forum/img/decline.png and /dev/null differ
diff --git a/public/plugins_packages/core/Forum/img/move.png b/public/plugins_packages/core/Forum/img/move.png
deleted file mode 100644
index 7f74aa5555ede5e445e776a0c13fc8832195919a..0000000000000000000000000000000000000000
Binary files a/public/plugins_packages/core/Forum/img/move.png and /dev/null differ
diff --git a/public/plugins_packages/core/Forum/views/area/add.php b/public/plugins_packages/core/Forum/views/area/add.php
index d00db13f646e744155708d29b8dd030dfb3951f0..ba777fb0534ef1324b24326aff2c17df38cee64f 100644
--- a/public/plugins_packages/core/Forum/views/area/add.php
+++ b/public/plugins_packages/core/Forum/views/area/add.php
@@ -1,7 +1,7 @@
 <tr data-area-id="<?= $entry['topic_id'] ?>" <?= (ForumPerm::has('sort_area', $seminar_id)) ? 'class="movable"' : '' ?>>
     <td class="icon">
     <? if (ForumPerm::has('sort_area', $seminar_id)) : ?>
-        <img src="<?= $picturepath ?>/anfasser_48.png" class="handle js">
+        <?= Assets::img('anfasser_48.png', ['class' => 'handle js']) ?>
     <? endif ?>
 
         <a href="<?= $controller->link_for("index/index/{$entry['topic_id']}#{$entry['topic_id']}") ?>">
diff --git a/public/plugins_packages/core/Forum/views/index/_post.php b/public/plugins_packages/core/Forum/views/index/_post.php
index 26b971031f8426dc74f613b830b42cd25a0584f7..21a2dc3e854a8cd5fff72b2e53228dd2c79b1960 100644
--- a/public/plugins_packages/core/Forum/views/index/_post.php
+++ b/public/plugins_packages/core/Forum/views/index/_post.php
@@ -195,12 +195,12 @@
 
                     <!-- Online-Status -->
                     <? $status = ForumHelpers::getOnlineStatus($post['user_id']) ?>
-                    <? if ($status == 'available') : ?>
-                        <img src="<?= $picturepath ?>/community.png" title="<?= _('Online') ?>">
-                    <? elseif ($status == 'away') : ?>
-                        <?= Icon::create('community', 'inactive', ['title' => _('Abwesend')])->asImg() ?>
-                    <? elseif ($status == 'offline') : ?>
-                        <?= Icon::create('community', 'info', ['title' => _('Offline')])->asImg() ?>
+                    <? if ($status === 'available') : ?>
+                        <?= Icon::create('community', Icon::ROLE_STATUS_GREEN, ['title' => _('Online')]) ?>
+                    <? elseif ($status === 'away') : ?>
+                        <?= Icon::create('community', Icon::ROLE_INACTIVE, ['title' => _('Abwesend')]) ?>
+                    <? elseif ($status === 'offline') : ?>
+                        <?= Icon::create('community', Icon::ROLE_INFO, ['title' => _('Offline')]) ?>
                     <? endif ?>
 
                     <a href="<?= URLHelper::getLink('dispatch.php/profile', ['username' => get_username($post['user_id'])])?>">
diff --git a/resources/assets/javascripts/init.js b/resources/assets/javascripts/init.js
index caf944e4bd74e82fbbbed861b6e12a73b36644d1..07512c8c8bc4463a1430e16d944462426c203f02 100644
--- a/resources/assets/javascripts/init.js
+++ b/resources/assets/javascripts/init.js
@@ -29,6 +29,7 @@ import Files from './lib/files.js';
 import FilesDashboard from './lib/files_dashboard.js';
 import Folders from './lib/folders.js';
 import Forms from './lib/forms.js';
+import Forum from './lib/forum.js';
 import Fullscreen from './lib/fullscreen.js';
 import GlobalSearch from './lib/global_search.js';
 import HeaderMagic from './lib/header_magic.js';
@@ -114,6 +115,7 @@ window.STUDIP = _.assign(window.STUDIP || {}, {
     FilesDashboard,
     Folders,
     Forms,
+    Forum,
     Fullscreen,
     Gettext,
     GlobalSearch,
diff --git a/public/plugins_packages/core/Forum/javascript/forum.js b/resources/assets/javascripts/lib/forum.js
similarity index 99%
rename from public/plugins_packages/core/Forum/javascript/forum.js
rename to resources/assets/javascripts/lib/forum.js
index 636ca474cd0e16bce8f291ea72738333c5666e94..7626d2405a6cfcc007855d8a9828c9b2c0b046ec 100644
--- a/public/plugins_packages/core/Forum/javascript/forum.js
+++ b/resources/assets/javascripts/lib/forum.js
@@ -1,10 +1,4 @@
-/*global window, $, jQuery, document, _ */
-/* ------------------------------------------------------------------------
- * the global STUDIP namespace
- * ------------------------------------------------------------------------ */
-var STUDIP = STUDIP || {};
-
-STUDIP.Forum = {
+const Forum = {
     confirmDialog: null,
     current_area_id: null,
     current_category_id: null,
@@ -890,3 +884,5 @@ jQuery.fn.serializeObject = function() {
     });
     return o;
 };
+
+export default Forum;
diff --git a/public/plugins_packages/core/Forum/stylesheets/forum.scss b/resources/assets/stylesheets/scss/forum.scss
similarity index 100%
rename from public/plugins_packages/core/Forum/stylesheets/forum.scss
rename to resources/assets/stylesheets/scss/forum.scss
diff --git a/resources/assets/stylesheets/studip.scss b/resources/assets/stylesheets/studip.scss
index 1c92ea605a748f76fde83e566064f2ee1e7a0935..83bd85372ead94a6bd6957fb4200fcb2d3f1e8f6 100644
--- a/resources/assets/stylesheets/studip.scss
+++ b/resources/assets/stylesheets/studip.scss
@@ -18,6 +18,7 @@
 @import "scss/courseware";
 @import "scss/dates";
 @import "scss/files";
+@import "scss/forum";
 @import "scss/fullscreen";
 @import "scss/progress_indicator.scss";
 @import "scss/my_courses";