diff -urp /home/pokurek/www/include/Drupal/6.x/modules/ctools/includes/form.inc ctools/includes/form.inc
--- /home/pokurek/www/include/Drupal/6.x/modules/ctools/includes/form.inc	2009-08-14 00:24:02.000000000 +0200
+++ ctools/includes/form.inc	2009-09-23 23:51:06.000000000 +0200
@@ -291,7 +291,7 @@ function ctools_process_form($form_id, &
 function ctools_validate_form($form_id, $form, &$form_state) {
   static $validated_forms = array();
 
-  if (isset($validated_forms[$form_id]) && empty($form_state['must_validate'])) {
+  if (!empty($form_state['cancel_validate']) || (isset($validated_forms[$form_id]) && empty($form_state['must_validate']))) {
     return;
   }
 
diff -urp /home/pokurek/www/include/Drupal/6.x/modules/ctools/includes/wizard.inc ctools/includes/wizard.inc
--- /home/pokurek/www/include/Drupal/6.x/modules/ctools/includes/wizard.inc	2009-09-08 23:44:52.000000000 +0200
+++ ctools/includes/wizard.inc	2009-09-24 00:21:26.000000000 +0200
@@ -281,6 +281,7 @@ function ctools_wizard_wrapper(&$form, &
         '#type' => 'submit',
         '#value' => $form_info['cancel text'],
         '#wizard type' => 'cancel',
+        '#process' => array('ctools_wizard_process_cancel_button'),
         // hardcode the submit so that it doesn't try to save data.
         '#submit' => array('ctools_wizard_submit'),
         '#attributes' => $button_attributes,
@@ -404,3 +405,13 @@ function ctools_wizard_defaults(&$form_i
     }
   }
 }
+
+/**
+ * Clicked on cancel button prevent form validate
+ */
+function ctools_wizard_process_cancel_button($element, $edit, &$form_state, $complete_form) {
+  if (isset($form_state['clicked_button']) && $form_state['clicked_button'] === $element) {
+    $form_state['cancel_validate'] = true;
+  }
+  return $element;
+}
