diff --git a/subform.module b/subform.module
index 084ac9f..cfd00e6 100644
--- a/subform.module
+++ b/subform.module
@@ -123,7 +123,7 @@ function subform_form_after_build(&$element, &$form_state) {
     );
   }
 
-  $form['#pre_render']['subform_form_pre_render'] = 'subform_form_pre_render';
+  $element['#pre_render']['subform_form_pre_render'] = 'subform_form_pre_render';
   subform_form_after_build_traverse_children($form_state['subform_name'], $element);
 
   return $element;
@@ -144,11 +144,11 @@ function subform_form_after_build_traverse_children($subform_name, &$element) {
 /**
  * Pre render callback for subforms.
  *
- * Separates subform data in $_POST by adding a prefix to each form element's name.
+ * Remove the form option from the theme wrapper, so there will not be nested
+ * forms.
  */
-function subform_form_pre_render(&$element) {
-  // Just output the content of the form.
-  $element['#subform']['#theme_wrappers'] = array_diff($element['#subform']['#theme_wrappers'], array('form'));
+function subform_form_pre_render($element) {
+  $element['#theme_wrappers'] = array_diff($element['#theme_wrappers'], array('form'));
 
   return $element;
 }
