diff --git a/core/modules/openid/openid.inc b/core/modules/openid/openid.inc
index 6945f34..ea8e511 100644
--- a/core/modules/openid/openid.inc
+++ b/core/modules/openid/openid.inc
@@ -557,20 +557,16 @@ function _openid_get_bytes($num_bytes) {
 function _openid_response($str = NULL) {
   $data = array();
 
-  if (isset($_SERVER['REQUEST_METHOD'])) {
-    $data = _openid_get_params($_SERVER['QUERY_STRING']);
-
-    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
-      $str = file_get_contents('php://input');
-
-      $post = array();
-      if ($str !== FALSE) {
-        $post = _openid_get_params($str);
-      }
+  if ($_SERVER['REQUEST_METHOD'] == 'POST') {
+    $str = file_get_contents('php://input');
 
-      $data = array_merge($data, $post);
+    if ($str !== FALSE) {
+      $data = _openid_get_params($str);
     }
   }
+  elseif (isset($_SERVER['QUERY_STRING'])) {
+    $data = _openid_get_params($_SERVER['QUERY_STRING']);
+  }
 
   return $data;
 }
