Index: fb_canvas.module
===================================================================
--- fb_canvas.module	(revision 4443)
+++ fb_canvas.module	(working copy)
@@ -242,6 +242,15 @@
     //require 'fb_canvas.admin.inc';
     fb_canvas_admin_form_alter($form, $form_state, $form_id);
   }
+
+  if (!empty($_REQUEST['signed_request']) && empty($form['signed_request'])) {
+    // Facebook will pass our canvas pages the important signed_request.
+    // When we submit a form, that data will be lost unless we explicitly include it in the form.
+    $form['signed_request'] = array(
+      '#type' => 'hidden',
+      '#value' => $_REQUEST['signed_request'],
+    );
+  }
 }

 /**
Index: fb_tab.module
===================================================================
--- fb_tab.module	(revision 4443)
+++ fb_tab.module	(working copy)
@@ -218,6 +218,16 @@
     //require 'fb_canvas.admin.inc';
     fb_tab_admin_form_alter($form, $form_state, $form_id);
   }
+
+  if (!empty($_REQUEST['signed_request']) && empty($form['signed_request'])) {
+    // Facebook will pass us the important signed_request.
+    // When we submit a form, that data will be lost unless we explicitly include it in the form.
+    $form['signed_request'] = array(
+      '#type' => 'hidden',
+      '#value' => $_REQUEST['signed_request'],
+    );
+  }
+
 }

 /**
