diff --git a/modules/saml/lib/Message.php b/modules/saml/lib/Message.php
index f15a01ad88d76ed640b8da5d68057f5d117179bc..5c6369b1289a253b0179ec33fd5a7275aae74ab9 100644
--- a/modules/saml/lib/Message.php
+++ b/modules/saml/lib/Message.php
@@ -689,6 +689,12 @@ class sspmod_saml_Message {
 				}
 			}
 
+			// if no SubjectConfirmationData then don't do anything.
+			if ($scd === null) {
+				$lastError = 'No SubjectConfirmationData provided';
+				continue;
+			}
+
 			if ($scd->NotBefore && $scd->NotBefore > time() + 60) {
 				$lastError = 'NotBefore in SubjectConfirmationData is in the future: ' . $scd->NotBefore;
 				continue;