Index: modules/webform/webform.module
===================================================================
--- modules/webform/webform.module	(revision 968)
+++ modules/webform/webform.module	(working copy)
@@ -371,8 +371,17 @@
         $node->webformcomponents = _webform_components_decode($_POST['webformcomponents']);
       }
       // Delete an existing component
-      $cid = $_POST['selected_component'];
-      unset($node->webformcomponents[$cid]);
+      $delete_cid = $_POST['selected_component'];
+      if (is_array($node->webformcomponents)) {
+        $new_parent = $node->webformcomponents[$delete_cid]['parent'];
+        // Fix-up any children of the deleted component
+        foreach ($node->webformcomponents as $cid => &$component) {
+          if ($component['parent'] == $delete_cid) {
+            $component['parent'] = $new_parent;
+          }
+        }
+        unset($node->webformcomponents[$delete_cid]);
+      }
       break;
       
     case t('Done'):
