--- openid_provider.inc.orig	2010-11-05 13:12:36.000000000 -0400
+++ openid_provider.inc	2010-11-05 13:31:32.000000000 -0400
@@ -334,6 +334,11 @@
     }
   }
 
+  // hack to remove possible duplicate janrain_nonce value
+  if(array_key_exists('janrain_nonce',$response) && preg_match('/\?janrain_nonce=/',$response['openid.return_to'])) {
+    unset($response['janrain_nonce']);
+  }
+
   $signed_keys = array('op_endpoint', 'return_to', 'response_nonce', 'assoc_handle', 'identity', 'claimed_id');
   $signed_keys = array_merge($signed_keys, module_invoke_all('openid_provider', 'signed', $response));
   $response['openid.signed'] = implode(',', $signed_keys);
