diff --git a/lib/modules/CoreOverview.php b/lib/modules/CoreOverview.php
index 8d4606d2cd701499c4581ca3a4707ef73e2678b9..81bb704f8919dfc6e02728d579b1944ab8299e35 100644
--- a/lib/modules/CoreOverview.php
+++ b/lib/modules/CoreOverview.php
@@ -43,7 +43,7 @@ class CoreOverview extends CorePlugin implements StudipModule
         $nav = new Navigation(_('Ankündigungen'), '');
         if ($result['neue']) {
             $nav->setURL('?new_news=true');
-            $nav->setImage(Icon::create('news', Icon::ROLE_ATTENTION), [
+            $nav->setImage(Icon::create('news', Icon::ROLE_ATTENTION, [
                 'title' => sprintf(
                     ngettext(
                         '%1$d Ankündigung, %2$d neue',
@@ -53,10 +53,10 @@ class CoreOverview extends CorePlugin implements StudipModule
                     $result['count'],
                     $result['neue']
                 )
-            ]);
+            ]));
             $nav->setBadgeNumber($result['neue']);
         } elseif ($result['count']) {
-            $nav->setImage(Icon::create('news', Icon::ROLE_CLICKABLE), [
+            $nav->setImage(Icon::create('news', Icon::ROLE_CLICKABLE, [
                 'title' => sprintf(
                     ngettext(
                         '%d Ankündigung',
@@ -65,7 +65,7 @@ class CoreOverview extends CorePlugin implements StudipModule
                     ),
                     $result['count']
                 )
-            ]);
+            ]));
         }
         return $nav;
     }
diff --git a/lib/modules/CoreParticipants.php b/lib/modules/CoreParticipants.php
index b2f19485bbb35a2de6b295b2209d006dc58b052f..ddc0686dead7ecaa4825c247edc4795e652bdbbc 100644
--- a/lib/modules/CoreParticipants.php
+++ b/lib/modules/CoreParticipants.php
@@ -93,7 +93,7 @@ class CoreParticipants extends CorePlugin implements StudipModule
         $result = $statement->fetch(PDO::FETCH_ASSOC);
 
         if ($result['neue']) {
-            $navigation->setImage(Icon::create('persons', Icon::ROLE_ATTENTION), [
+            $navigation->setImage(Icon::create('persons', Icon::ROLE_ATTENTION, [
                 'title' => sprintf(
                     ngettext(
                         '%1$d Teilnehmende/r, %2$d neue/r',
@@ -103,7 +103,7 @@ class CoreParticipants extends CorePlugin implements StudipModule
                     $result['count'],
                     $result['neue']
                 )
-            ]);
+            ]));
             $navigation->setBadgeNumber($result['neue']);
         } elseif ($result['count']) {
             $navigation->setLinkAttributes([
diff --git a/lib/modules/CoreSchedule.php b/lib/modules/CoreSchedule.php
index 601b618104a8d34274f38c2acad83d8e70aa2841..17e6ee76d8ed9d9416c9bb9eebb056eabb481386 100644
--- a/lib/modules/CoreSchedule.php
+++ b/lib/modules/CoreSchedule.php
@@ -38,7 +38,7 @@ class CoreSchedule extends CorePlugin implements StudipModule
 
         $nav = new Navigation(_('Ablaufplan'), 'dispatch.php/course/dates');
         if ($result['neue']) {
-            $nav->setImage(Icon::create('schedule', Icon::ROLE_ATTENTION), [
+            $nav->setImage(Icon::create('schedule', Icon::ROLE_ATTENTION, [
                 'title' => sprintf(
                     ngettext(
                         '%1$d Termin, %2$d neuer',
@@ -48,10 +48,10 @@ class CoreSchedule extends CorePlugin implements StudipModule
                     $result['count'],
                     $result['neue']
                 )
-            ]);
+            ]));
             $nav->setBadgeNumber($result['neue']);
         } else {
-            $nav->setImage(Icon::create('schedule', Icon::ROLE_CLICKABLE), [
+            $nav->setImage(Icon::create('schedule', Icon::ROLE_CLICKABLE, [
                 'title' => sprintf(
                     ngettext(
                         '%d Termin',
@@ -60,7 +60,7 @@ class CoreSchedule extends CorePlugin implements StudipModule
                     ),
                     $result['count']
                 )
-            ]);
+            ]));
         }
         return $nav;
     }
diff --git a/lib/modules/CoreStudygroupAdmin.php b/lib/modules/CoreStudygroupAdmin.php
index 60819c9f02ac8dafcae36a6c188a571fe7f69c53..f9be2af4c9b255fcfdfcfd59e7158eebc94523c4 100644
--- a/lib/modules/CoreStudygroupAdmin.php
+++ b/lib/modules/CoreStudygroupAdmin.php
@@ -18,7 +18,7 @@ class CoreStudygroupAdmin extends CorePlugin implements StudipModule
     public function getIconNavigation($course_id, $last_visit, $user_id)
     {
         $navigation = new Navigation(_('Verwaltung'), "dispatch.php/course/studygroup/edit/?cid={$course_id}");
-        $navigation->setImage(Icon::create('admin', Icon::ROLE_CLICKABLE), ['title' => _('Verwaltung')]);
+        $navigation->setImage(Icon::create('admin', Icon::ROLE_CLICKABLE, ['title' => _('Verwaltung')]));
         return $navigation;
     }
 
diff --git a/lib/modules/CoursewareModule.php b/lib/modules/CoursewareModule.php
index 8deeda769686fcaed3819ecc271ba6dba626dfdb..a5e2fde38f7b541a0da99b5c893f6a577402bdb3 100644
--- a/lib/modules/CoursewareModule.php
+++ b/lib/modules/CoursewareModule.php
@@ -109,9 +109,9 @@ class CoursewareModule extends CorePlugin implements SystemPlugin, StudipModule
         $new = $statement->fetchColumn();
 
         $nav = new Navigation(_('Courseware'), 'dispatch.php/course/courseware');
-        $nav->setImage(Icon::create('courseware', Icon::ROLE_CLICKABLE), [
+        $nav->setImage(Icon::create('courseware', Icon::ROLE_CLICKABLE, [
             'title' => _('Courseware'),
-        ]);
+        ]));
 
         if ($new > 0) {
             if ($new === 1) {
@@ -120,9 +120,9 @@ class CoursewareModule extends CorePlugin implements SystemPlugin, StudipModule
             } else {
                 $text =  _('neue Seiten');
             }
-            $nav->setImage(Icon::create('courseware', Icon::ROLE_ATTENTION), [
+            $nav->setImage(Icon::create('courseware', Icon::ROLE_ATTENTION, [
                 'title' => $new . ' ' . $text,
-            ]);
+            ]));
             $nav->setBadgeNumber("$new");
         }
 
diff --git a/lib/modules/GradebookModule.php b/lib/modules/GradebookModule.php
index 45cd93edc6bdb9de8fffee2636000ad686076eff..3de94a5071347bc57e2b3c0adc5e1676af183f07 100644
--- a/lib/modules/GradebookModule.php
+++ b/lib/modules/GradebookModule.php
@@ -69,7 +69,7 @@ class GradebookModule extends CorePlugin implements SystemPlugin, StudipModule
               : Icon::create('assessment', Icon::ROLE_CLICKABLE);
 
         $navigation = new Navigation($title, 'dispatch.php/course/gradebook/overview');
-        $navigation->setImage($icon, ['title' => $title]);
+        $navigation->setImage($icon->copyWithAttributes(['title' => $title]));
 
         return $navigation;
     }
diff --git a/lib/modules/IliasInterfaceModule.php b/lib/modules/IliasInterfaceModule.php
index a8cafbf24d9b7c5a2d2a9a969f79512f5af16206..e3fde44dd626afb1ec2b3ba305a4ad777ff473b5 100644
--- a/lib/modules/IliasInterfaceModule.php
+++ b/lib/modules/IliasInterfaceModule.php
@@ -70,7 +70,7 @@ class IliasInterfaceModule extends CorePlugin implements StudipModule, SystemPlu
         $title = CourseConfig::get($course_id)->getValue('ILIAS_INTERFACE_MODULETITLE');
         $nav = new Navigation($title, 'dispatch.php/course/ilias_interface/index');
         if ($result['neue']) {
-            $nav->setImage(Icon::create('learnmodule', Icon::ROLE_ATTENTION), [
+            $nav->setImage(Icon::create('learnmodule', Icon::ROLE_ATTENTION, [
                 'title' => sprintf(
                     ngettext(
                         '%1$d Lernobjekt, %2$d neues',
@@ -80,9 +80,9 @@ class IliasInterfaceModule extends CorePlugin implements StudipModule, SystemPlu
                     $result['count_modules'],
                     $result['neue']
                 )
-            ]);
+            ]));
         } elseif ($result['count_modules']) {
-            $nav->setImage(Icon::create('learnmodule', Icon::ROLE_CLICKABLE), [
+            $nav->setImage(Icon::create('learnmodule', Icon::ROLE_CLICKABLE, [
                 'title' => sprintf(
                     ngettext(
                         '%d Lernobjekt',
@@ -91,9 +91,9 @@ class IliasInterfaceModule extends CorePlugin implements StudipModule, SystemPlu
                     ),
                     $result['count_modules']
                 )
-            ]);
+            ]));
         } elseif ($result['count_courses']) {
-            $nav->setImage(Icon::create('learnmodule', Icon::ROLE_CLICKABLE), [
+            $nav->setImage(Icon::create('learnmodule', Icon::ROLE_CLICKABLE, [
                 'title' => sprintf(
                     ngettext(
                         '%d ILIAS-Kurs',
@@ -102,7 +102,7 @@ class IliasInterfaceModule extends CorePlugin implements StudipModule, SystemPlu
                     ),
                     $result['count_courses']
                 )
-            ]);
+            ]));
         }
         return $nav;
     }
diff --git a/lib/modules/LtiToolModule.php b/lib/modules/LtiToolModule.php
index 74fd70aa8e1f38130a2376cec2547cb80f9fc398..7e67072eaa95bca5058a8a3a9bcd93cf88f9fd36 100644
--- a/lib/modules/LtiToolModule.php
+++ b/lib/modules/LtiToolModule.php
@@ -49,7 +49,7 @@ class LtiToolModule extends CorePlugin implements StudipModule, SystemPlugin, Pr
               : Icon::create('link-extern', Icon::ROLE_CLICKABLE);
 
         $navigation = new Navigation($title, 'dispatch.php/course/lti');
-        $navigation->setImage($icon, ['title' => $title]);
+        $navigation->setImage($icon->copyWithAttributes(['title' => $title]));
 
         return $navigation;
     }
diff --git a/lib/modules/NewsWidget.php b/lib/modules/NewsWidget.php
index e9151807e1f4815bd72aa03879d2e6ac73af7f9c..04f6b08a4c814da6112260eb0fdb2838d7187dbf 100644
--- a/lib/modules/NewsWidget.php
+++ b/lib/modules/NewsWidget.php
@@ -32,7 +32,8 @@ class NewsWidget extends CorePlugin implements PortalPlugin
         $icons = [];
         if (StudipNews::CountUnread() > 0) {
             $navigation = new Navigation('', 'dispatch.php/news/visit_all');
-            $navigation->setImage(Icon::create('refresh', Icon::ROLE_CLICKABLE, ['title' => _('Alle als gelesen markieren'), 'size' => 20]), ['class' => 'visit-all']);
+            $navigation->setImage(Icon::create('refresh', Icon::ROLE_CLICKABLE, ['title' => _('Alle als gelesen markieren'), 'size' => 20]));
+            $navigation->setLinkAttributes(['class' => 'visit-all']);
             $icons[] = $navigation;
         }
 
@@ -46,7 +47,9 @@ class NewsWidget extends CorePlugin implements PortalPlugin
 
         if ($GLOBALS['perm']->have_perm('root')) {
             $navigation = new Navigation('', 'dispatch.php/news/edit_news/new/studip');
-            $navigation->setImage(Icon::create('add', Icon::ROLE_CLICKABLE, ['title' => _('Ankündigungen bearbeiten'), 'size' => 20]), ['data-dialog' => '1']);
+            $navigation->setImage(Icon::create('add', Icon::ROLE_CLICKABLE, ['title' => _('Ankündigungen bearbeiten'), 'size' => 20]));
+            $navigation->setLinkAttributes(['data-dialog' => '']);
+
             $icons[] = $navigation;
             if (Config::get()->NEWS_RSS_EXPORT_ENABLE) {
                 $navigation = new Navigation('', 'dispatch.php/news/rss_config/studip');
@@ -56,8 +59,8 @@ class NewsWidget extends CorePlugin implements PortalPlugin
                         Icon::ROLE_CLICKABLE,
                         ['title' => _('RSS-Feed konfigurieren')]
                     ),
-                    ['data-dialog' => 'size=auto']
                 );
+                $navigation->setLinkAttributes(['data-dialog' => 'size=auto']);
                 $icons[] = $navigation;
             }
         }
diff --git a/lib/modules/QuickSelection.php b/lib/modules/QuickSelection.php
index 3a6c1c89c75ca676fd6dfab991f20d1a50ca9714..6e80ea580815fd00cb244161580baecea86f12e2 100644
--- a/lib/modules/QuickSelection.php
+++ b/lib/modules/QuickSelection.php
@@ -31,7 +31,8 @@ class QuickSelection extends CorePlugin implements PortalPlugin
         $template->navigation = $this->getFilteredNavigation($names);
 
         $navigation = new Navigation('', 'dispatch.php/quickselection/configuration');
-        $navigation->setImage(Icon::create('edit', 'clickable', ["title" => _('Konfigurieren'), 'size' => 20]), ['data-dialog'=>'size=auto']);
+        $navigation->setImage(Icon::create('edit', Icon::ROLE_CLICKABLE, ["title" => _('Konfigurieren'), 'size' => 20]));
+        $navigation->setLinkAttributes(['data-dialog' => 'size=auto']);
 
         $template->icons = [$navigation];