Index: ajax.module
--- ajax.module Base (BASE)
+++ ajax.module Locally Modified (Based On LOCAL)
@@ -330,9 +330,10 @@
     $data['redirect'] = $form_state['redirect'];
   }
   // form:redirect
-  if (array_key_exists('redirect', $form) &&
-      !empty($form_state['redirect'])) {
-    $data['redirect'] = $form['redirect'];
+  if (array_key_exists('#redirect', $form)){
+        $data['redirect'] = $form['#redirect'];
+        if(is_array($form['#redirect']) && isset($form['#redirect'][0]))
+            $data['redirect'] = $form['#redirect'][0];
   }
   // Messages: Status
   if (array_key_exists('status', $messages)) {
