diff --git a/includes/webform.submissions.inc b/includes/webform.submissions.inc
index 925aff5..4fa6600 100644
--- a/includes/webform.submissions.inc
+++ b/includes/webform.submissions.inc
@@ -22,16 +22,18 @@ function webform_submission_data($node, $submitted) {
   $data = array();
 
   foreach ($submitted as $cid => $values) {
-    // Don't save pagebreaks as submitted data.
-    if ($node->webform['components'][$cid]['type'] == 'pagebreak') {
-      continue;
-    }
+    if (!empty($cid)) {
+      // Don't save pagebreaks as submitted data.
+      if ($node->webform['components'][$cid]['type'] == 'pagebreak') {
+        continue;
+      }
 
-    if (is_array($values)) {
-      $data[$cid]['value'] = $values;
-    }
-    else {
-      $data[$cid]['value'][0] = $values;
+      if (is_array($values)) {
+        $data[$cid]['value'] = $values;
+      }
+      else {
+        $data[$cid]['value'][0] = $values;
+      }
     }
   }
 
diff --git a/webform.module b/webform.module
index 6ff3c85..b074926 100644
--- a/webform.module
+++ b/webform.module
@@ -2605,7 +2605,7 @@ function _webform_client_form_submit_flatten($node, $fieldset, $parent = 0) {
     foreach ($fieldset as $form_key => $value) {
       $cid = webform_get_cid($node, $form_key, $parent);
 
-      if (is_array($value) && webform_component_feature($node->webform['components'][$cid]['type'], 'group')) {
+      if (!is_null($cid) && is_array($value) && webform_component_feature($node->webform['components'][$cid]['type'], 'group')) {
         $values += _webform_client_form_submit_flatten($node, $value, $cid);
       }
       else {
