diff --git a/server.py b/server.py
index d98514e71d0c900118502937faa06ffd8eb616da..dd29e09ef4f4a9b0bc25ce5dbb940a51344f9e91 100644
--- a/server.py
+++ b/server.py
@@ -272,6 +272,17 @@ def fixnl(s):
 	# To be remove, as soon as db schema is cleaned-up
 	return str(s).replace('\n', '<br>')
 
+@app.template_filter()
+def tagid(s):
+	if not s:
+		return 'EMPTY'
+	s = s.replace(' ', '_').lower()
+	r = ''
+	for c in s:
+		if c in string.ascii_lowercase+string.digits+'_':
+			r = r + c
+	return r
+
 @app.route('/')
 @register_navbar('Home', icon='home')
 def index():
diff --git a/templates/courses.html b/templates/courses.html
index b3dc3cf5e2264ef7f80ae64d00e08ed6af32d879..86a4ab9b6d0f94a0126e42e7060770120bf4e783 100644
--- a/templates/courses.html
+++ b/templates/courses.html
@@ -34,7 +34,7 @@
 		function autocollapse() {
 			if($("#xs-check").is(":visible")) {
 				/* Only expand current semester */
-				$(".collapse[id!='{{grouped_courses[1].grouper}}']").removeClass('in');
+				$(".collapse[id!='{{grouped_courses[1].grouper|tagid}}']").removeClass('in');
 			}
 		}
 		$(document).ready(autocollapse);
@@ -47,7 +47,7 @@
 <div class="row panel-group" id="accordion">
 	<div class="col-xs-12"><div class="panel panel-default">
 		<div class="panel-heading">
-			<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#{{g.grouper}}" style="color: #222;">
+			<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#{{g.grouper|tagid}}" style="color: #222;">
 				{% if groupedby == 'semester' %}
 				<h1 class="panel-title">{{g.grouper|semester(long=True)}} ({{g.list|length}} Veranstaltungen)</h1>
 				{% else %}
@@ -55,7 +55,7 @@
 				{% endif %}
 			</a>
 		</div>
-		<ul class="{% if not ismod() %}courses-list {% endif %}list-group panel-collapse collapse in" id="{{g.grouper}}">
+		<ul class="{% if not ismod() %}courses-list {% endif %}list-group panel-collapse collapse in" id="{{g.grouper|tagid}}">
 			{% for i in g.list|sort(attribute='title') %}
 				{% if groupedby == 'semester' %}
 					{{ course_list_item(i) }}