diff --git a/config.py.example b/config.py.example
index fdb02c92b54e19caf93afbd6028a3156713f2fcc..cf7d0ba3b8551363673e6ccccd1221a1b2ab6371 100644
--- a/config.py.example
+++ b/config.py.example
@@ -30,3 +30,4 @@ LDAP_GROUPS = ['fachschaft']
 ERROR_PAGE = 'static/500.html'
 RWTH_IP_RANGES = ['134.130.0.0/16', '137.226.0.0/16', '134.61.0.0/16', '192.35.229.0/24', '2a00:8a60::/32']
 FSMPI_IP_RANGES = ['137.226.35.192/29', '137.226.75.0/27', '137.226.127.32/27', '137.226.231.192/26', '134.130.102.0/26' ]
+DISABLE_SCHEDULER = False
diff --git a/scheduler.py b/scheduler.py
index 5bd30e949d32daa6e6e46b804b1b3c4ab7e0c66c..92275055bcde6677fc90520baafcee9b6f17ef5f 100644
--- a/scheduler.py
+++ b/scheduler.py
@@ -27,5 +27,5 @@ def sched_func(delay, priority=0, firstdelay=None, args=[], kargs={}):
 		print("Scheduler: registered {} (frequency 1/{}s, start delay: {}s)".format(func.__name__, delay, firstdelay))
 		return func
 	return wrapper
-
-threading.Thread(target=run_scheduler, daemon=True).start()
+if not app.config['DISABLE_SCHEDULER']:
+	threading.Thread(target=run_scheduler, daemon=True).start()
diff --git a/server.py b/server.py
index b13d02c78416130a3124146c5cef805b61e4e7e1..1322d285523bbfc02dafc1b3580334267f30907f 100644
--- a/server.py
+++ b/server.py
@@ -35,6 +35,7 @@ if sys.argv[0].endswith('tests.py'):
 	config['SQLITE_INIT_DATA'] = True
 	config['SQLITE_INIT_SCHEMA'] = True
 	config['DEBUG'] = True
+	config['DISABLE_SCHEDULER'] = True
 if config['DEBUG']:
 	app.jinja_env.auto_reload = True