diff --git a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php
index 58374cf69931e036de06a42de5132d24a269169f..7abe0c192fcff212fd8cacb74fc12415b14585c2 100644
--- a/lib/SimpleSAML/IdP/IFrameLogoutHandler.php
+++ b/lib/SimpleSAML/IdP/IFrameLogoutHandler.php
@@ -96,16 +96,35 @@ class IFrameLogoutHandler implements LogoutHandlerInterface
     {
         assert(is_string($assocId));
 
-        $config = Configuration::getInstance();
         $this->idp->terminateAssociation($assocId);
 
+        $config = Configuration::getInstance();
+        $usenewui = $config->getBoolean('usenewui', false);
+
+        // Force the use of Twig for this method. Remove if-clause in 2.0
+        if ($usenewui === false) {
+            $config = Configuration::loadFromArray([
+                'usenewui' => true,
+            ]);
+        }
+
         $t = new Template($config, 'IFrameLogoutHandler.twig');
         $t->data['assocId'] = var_export($assocId, true);
         $t->data['spId'] = sha1($assocId);
         if (!is_null($error)) {
             $t->data['errorMsg'] = $error->getMessage();
         }
-        $t->show();
-        exit(0);
+
+        // Remove the if-clause in 2.0, leave the else-part
+        if ($usenewui === false) {
+            $twig = $t->getTwig();
+            if (!isset($twig)) {
+                throw new \Exception('Even though we explicitly configure that we want Twig, the Template class does not give us Twig. This is a bug.');
+            }
+            $result = $twig->render('IFrameLogoutHandler.twig', $t->data);
+            echo $result;
+        } else {
+            $t->show();
+        }
     }
 }