diff --git a/www/saml2/idp/SingleLogoutServiceiFrameNoJavascript.php b/www/saml2/idp/SingleLogoutServiceiFrameNoJavascript.php
index e7035c54606cc7286e31013d4c241ddc728d6fb0..8fa0eb9c42bd90e2bf9b4599e93a40fb79235b90 100644
--- a/www/saml2/idp/SingleLogoutServiceiFrameNoJavascript.php
+++ b/www/saml2/idp/SingleLogoutServiceiFrameNoJavascript.php
@@ -48,7 +48,21 @@ $session = SimpleSAML_Session::getInstance();
 $idpentityid = $metadata->getMetaDataCurrentEntityID('saml20-idp-hosted');
 
 
-if ($session->sp_logout_completed() === TRUE) {
+
+$templistofsps = $session->get_sp_list(SimpleSAML_Session::STATE_ONLINE);
+$listofsps = array();
+foreach ($templistofsps AS $spentityid) {
+	if (!empty($_COOKIE['spstate-' . sha1($spentityid)])) $listofsps[] = $spentityid;
+}
+
+
+if (count($templistofsps) === count($listofsps)) {
+
+	$templistofsps = $session->get_sp_list(SimpleSAML_Session::STATE_ONLINE);
+	foreach ($templistofsps AS $spentityid) {
+		$session->set_sp_logout_completed($spentityid);
+		setcookie('spstate-' . sha1($spentityid) , '', time() - 3600); // Delete cookie
+	}
 
 
 	echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"