diff --git a/server.py b/server.py
index e505995385ad82812e0a3e834beadcf01a45faac..c62aaf41fe5d7bc2074c5c6190ff0f4b51227b0c 100644
--- a/server.py
+++ b/server.py
@@ -561,10 +561,18 @@ def auth(): # For use with nginx auth_request
 @register_navbar('Changelog', icon='book')
 @mod_required
 def changelog():
-	changelog = query('SELECT * FROM changelog LEFT JOIN users ON (changelog.who = users.id) ORDER BY `when` DESC LIMIT 50')
+	if 'page' in request.args:
+		page = max(0, int(request.args['page']))
+	else:
+		page = 0
+	if 'pagesize' in request.args:
+		pagesize = min(500, int(request.args['pagesize']))
+	else:
+		pagesize = 50
+	changelog = query('SELECT * FROM changelog LEFT JOIN users ON (changelog.who = users.id) ORDER BY `when` DESC LIMIT ? OFFSET ?',pagesize,page*pagesize)
 	for entry in changelog:
 		entry['path'] = '.'.join([entry['table'], entry['id_value'], entry['field']])
-	return render_template('changelog.html', changelog=changelog)
+	return render_template('changelog.html', changelog=changelog, page=page, pagesize=pagesize)
 
 @app.route('/files/<filename>')
 def files(filename):
diff --git a/templates/changelog.html b/templates/changelog.html
index 0e6066f20addf5b52a6a4c5c6c9660f580c6f9de..4d0a8232b9f68126b32dee7aa7bf357e815c3c13 100644
--- a/templates/changelog.html
+++ b/templates/changelog.html
@@ -8,6 +8,10 @@
 		</div>
 		<div class="panel-body">
 			<p>Hier werden alle Änderungen an Kursen/Veranstaltungen/Videos etc. geloggt und können Rückgängig gemacht werden.</p>
+			<div style="margin-top: 10px;" class="col-xs-12">
+				<a href="{{url_for('changelog', page=page-1) }}" class="pull-left btn btn-default">{{ "<<" }}</a>
+				<a href="{{url_for('changelog', page=page+1) }}" class="pull-right btn btn-default">{{ ">>" }}</a>
+			</div>
 		</div>
 		<div class="table-responsive">
 			<table class="table table-condensed">