diff --git a/lib/SAML2/HTTPRedirect.php b/lib/SAML2/HTTPRedirect.php
index 6033389a070c29071a7fa690dead967af3fc78af..ddafea9d3fd10539e0b4869583bdb77fbc484674 100644
--- a/lib/SAML2/HTTPRedirect.php
+++ b/lib/SAML2/HTTPRedirect.php
@@ -173,7 +173,14 @@ class SAML2_HTTPRedirect extends SAML2_Binding {
 		$relayState = '';
 		$sigAlg = '';
 		foreach (explode('&', $_SERVER['QUERY_STRING']) as $e) {
-			list($name, $value) = explode('=', $e, 2);
+			$tmp = explode('=', $e, 2);
+			$name = $tmp[0];
+			if (count($tmp) === 2) {
+				$value = $tmp[1];
+			} else {
+				/* No value for this paramter. */
+				$value = '';
+			}
 			$name = urldecode($name);
 			$data[$name] = urldecode($value);