diff --git a/Koha/Template/Plugin/HtmlId.pm b/Koha/Template/Plugin/HtmlId.pm
new file mode 100644
index 0000000000..13fc9e8500
--- /dev/null
+++ b/Koha/Template/Plugin/HtmlId.pm
@@ -0,0 +1,28 @@
+package Koha::Template::Plugin::HtmlId;
+
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see .
+
+use Modern::Perl;
+
+use parent qw( Template::Plugin::Filter );
+
+sub filter {
+ my ( $self, $text ) = @_;
+
+ return $text =~ s/[^a-zA-Z0-9-]+/_/gr
+}
+
+1;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/prefs-menu.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/prefs-menu.inc
index 7024bd0ae2..055069e75c 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/prefs-menu.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/prefs-menu.inc
@@ -1,3 +1,4 @@
+[% USE HtmlId %]