diff --git a/plugins/QuickCallbackContent.inc b/plugins/QuickCallbackContent.inc
index fffe037..afbd7f3 100644
--- a/plugins/QuickCallbackContent.inc
+++ b/plugins/QuickCallbackContent.inc
@@ -55,6 +55,10 @@ class QuickCallbackContent extends QuickContent {
       array_shift($args);
       $item['actual_path'] = rawurldecode($args[0]);
       $_GET['q'] = $item['actual_path'];
+      // Make the current ajax item currently available,
+      // so that quickforms_form_alter() can change form actions accordingly,
+      // as $form['#actions'] is set based on request_uri(), not $_GET['q'].
+      $GLOBALS['quicktabs_current_ajax_item'] = $item;
     }
     
     $output = array();
@@ -89,4 +93,4 @@ class QuickCallbackContent extends QuickContent {
   public function getAjaxKeys() {
     return array('ajax_path');
   }
-}
\ No newline at end of file
+}
diff --git a/quicktabs.module b/quicktabs.module
index 182a89c..d4aa8dd 100644
--- a/quicktabs.module
+++ b/quicktabs.module
@@ -681,3 +681,15 @@ function theme_qt_accordion($variables) {
   $output .= '</div>';
   return $output;
 }
+
+/**
+ * Implements hook_form_alter().
+ */
+function quicktabs_form_alter(&$form, &$form_state, $form_id) {
+  // Check if this form is being rendered as part of an ajax quicktabs content
+  // tab, make sure that #action points to the current path, see
+  // QuickCallbackContent::render().
+  if (!empty($GLOBALS['quicktabs_current_ajax_item'])) {
+    $form['#action'] = url($GLOBALS['quicktabs_current_ajax_item']['actual_path']);
+  }
+}
