Ctools wizard multistep form: Back button should remember entered data
To get ctools wizard to save values when the user presses the back button, you would have to remove it's '#limit_validation_errors' property that is set by default in ctools_wizard_wrapper(). There is no convenient switch or form_info property to do this so you have to use a form alter hook similar to this:

function test_form_alter(&amp;$form, &amp;$form_state, $form_id) {
  if (isset($form_state['wrapper_callback']) &amp;&amp; $form_state['wrapper_callback'] == 'ctools_wizard_wrapper' &amp;&amp; $form_state['form_info']['id'] == 'test_wizard') {
    if (isset($form['buttons']['previous'])) {
      unset($form['buttons']['previous']['#limit_validation_errors']);
    }
  }
}