diff --git a/icalexport.py b/icalexport.py
index 8ab175842f0ccc80c3464213a34ff817aeb88027..2f5c3ad9a799b36a0c27c28ef148ae7de39e46c2 100644
--- a/icalexport.py
+++ b/icalexport.py
@@ -35,11 +35,14 @@ def calperm(func):
 			for net in config['FSMPI_IP_RANGES']:
 				if ip in ip_network(net):
 					permission = True
+		if request.authorization:
+			userinfo, groups = ldapauth(request.authorization.username, request.authorization.password)
+			if check_mod(userinfo.get('uid'), groups):
+				permission = True
 		if permission:
 			return func(*args, **kwargs)
 		else:
-			flash('Diese Funktion ist nur aus dem FSMPI-Netz(für SOGO-Import) oder eingeloggt verfügbar!')
-			return redirect(url_for('index'))
+			return Response("Login required", 401, {'WWW-Authenticate': 'Basic realm="FS-Login required"'})
 	return decorator
 
 @app.route('/internal/ical/all')