diff --git a/mdserver.py b/mdserver.py
index 1bf6f5da042b01038e6c8e7b22a7e282940da6a6..0857f8a0308390655b02a95e2667ecf4c0fa82dd 100755
--- a/mdserver.py
+++ b/mdserver.py
@@ -28,9 +28,14 @@ class Entity(object):
     valid_until = 0
 
 
+def signer(xml):
+    global cert, key
+    return XMLSigner().sign(xml, key=key, cert=cert)
+
+
 @app.route('/sign/<path:eid>', methods=['GET'])
 def sign(eid):
-    global idps, signed, cert
+    global idps, signed
     entity = unquote(eid)
     if entity in signed:
         signed_entity = signed[entity]
@@ -41,7 +46,7 @@ def sign(eid):
     if entity in idps:
         try:
             print(f"sign {entity}")
-            signed_element = XMLSigner().sign(idps[entity].md, key=key, cert=cert)
+            signed_element = signer(idps[entity].md)
             signed_xml = ET.tostring(signed_element, pretty_print=True).decode()
             signed_entity = Entity
             signed_entity.md = signed_xml