diff --git a/aleksis/core/static/js/main.js b/aleksis/core/static/js/main.js
index e7a58f3ff2dfe8f15b10f10c1f939d582ca27aa0..45fee5c5bde0eb54655b2fe556c05f9aee573c4f 100644
--- a/aleksis/core/static/js/main.js
+++ b/aleksis/core/static/js/main.js
@@ -58,6 +58,9 @@ $(document).ready(function () {
     // Initialize select [MAT]
     $('select').formSelect();
 
+    // Initialize dropdown [MAT]
+    $('.dropdown-trigger').dropdown();
+
     // If JS is activated, the language form will be auto-submitted
     $('.language-field select').change(function () {
 
diff --git a/aleksis/core/templates/core/dashboard_widget/list.html b/aleksis/core/templates/core/dashboard_widget/list.html
index e4a8464e9ca8431fc61cb7b55c283596b67c2e39..6715e3df96e2faed4a1afc78333529039000de32 100644
--- a/aleksis/core/templates/core/dashboard_widget/list.html
+++ b/aleksis/core/templates/core/dashboard_widget/list.html
@@ -10,13 +10,20 @@
 
 {% block content %}
 
-  {% for ct, model in widget_types %}
-    <a class="btn green waves-effect waves-light" href="{% url 'create_dashboard_widget' ct.app_label ct.model  %}">
-      <i class="material-icons left">add</i>
-      {% verbose_name_object model as widget_name %}
-      {% blocktrans with name=widget_name %}Create {{ name }}{% endblocktrans %}
-    </a>
-  {% endfor %}
+  <a class="btn green waves-effect waves-light dropdown-trigger" href="#" data-target="widget-dropdown">
+    <i class="material-icons left">add</i>
+    {% trans "Create dashboard widget" %}
+  </a>
+  <ul id="widget-dropdown" class="dropdown-content">
+    {% for ct, model in widget_types %}
+      <li>
+        <a href="{% url 'create_dashboard_widget' ct.app_label ct.model %}">
+          {% verbose_name_object model as widget_name %}
+          {% blocktrans with name=widget_name %}Create {{ name }}{% endblocktrans %}
+        </a>
+      </li>
+    {% endfor %}
+  </ul>
 
   {% has_perm "core.edit_default_dashboard" user as can_edit_default_dashboard %}
   {% if can_edit_default_dashboard %}