diff --git a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php
index e1f4df2ada8ad367faa18bac493ed729a587ce68..cc9a20582f0a9ae7d6b6b74d8027f80e64a23570 100644
--- a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php
+++ b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php
@@ -20,7 +20,6 @@ class IFrameLogoutHandler implements LogoutHandlerInterface
      */
     private $idp;
 
-
     /**
      * LogoutIFrame constructor.
      *
@@ -90,30 +89,14 @@ class IFrameLogoutHandler implements LogoutHandlerInterface
     {
         assert(is_string($assocId));
 
-        $spId = sha1($assocId);
+        $config = \SimpleSAML\Configuration::getInstance();
         $this->idp->terminateAssociation($assocId);
 
-        $header = <<<HEADER
-<!DOCTYPE html>
-<html>
- <head>
-  <title>Logout response from %s</title>
-  <script>
-HEADER;
-        printf($header, htmlspecialchars(var_export($assocId, true)));
-        if ($error) {
-            $errorMsg = $error->getMessage();
-            echo('window.parent.logoutFailed("'.$spId.'", "'.addslashes($errorMsg).'");');
-        } else {
-            echo('window.parent.logoutCompleted("'.$spId.'");');
-        }
-        echo <<<FOOTER
-  </script>
- </head>
- <body>
- </body>
-</html>
-FOOTER;
+        $t = new \SimpleSAML\XHTML\Template($config, 'IFrameLogoutHandler.twig');
+        $t->data['assocId'] = var_export($assocId, true);
+        $t->data['spId'] = sha($assocId);
+        $t->data['errorMsg'] = $error->getMessage();
+        $t->show();
         exit(0);
     }
 }
diff --git a/templates/IFrameLogoutHandler.twig b/templates/IFrameLogoutHandler.twig
new file mode 100644
index 0000000000000000000000000000000000000000..2706636e0383e8bbb92561a1c82460c86e4c2690
--- /dev/null
+++ b/templates/IFrameLogoutHandler.twig
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>Logout response from {{ assocId|escape('html') }}</title>
+        <script>
+{% if error %}
+            window.parent.logoutFailed("{{ spId }}", "{{ errorMsg|escape }}");
+{% else %}
+            window.parent.logoutCompleted("{{ spId }}");
+{% endif %}
+        </script>
+    </head>
+    <body>
+    </body>
+</html>
+