diff --git a/sites/all/modules/contrib/node_widget/includes/node_widget.class.inc b/sites/all/modules/contrib/node_widget/includes/node_widget.class.inc
index a96a7f8..a3863b0 100644
--- a/sites/all/modules/contrib/node_widget/includes/node_widget.class.inc
+++ b/sites/all/modules/contrib/node_widget/includes/node_widget.class.inc
@@ -125,7 +125,7 @@ class node_widget {
     if ($form_state['values']['remove'] && $form_state['values']['nid']) {
       node_delete($form_state['values']['nid']);
     }
-    elseif (!$this->is_empty($form, $form_state)) {
+    elseif (!$form_state['values']['remove'] && !$this->is_empty($form, $form_state)) {
       // TODO: Inherit promote and sticky from parent node
       node_form_submit($form, $form_state);
       return $form_state['nid'];
diff --git a/sites/all/modules/contrib/node_widget/includes/node_widget.form.inc b/sites/all/modules/contrib/node_widget/includes/node_widget.form.inc
index f2c3065..688fca7 100644
--- a/sites/all/modules/contrib/node_widget/includes/node_widget.form.inc
+++ b/sites/all/modules/contrib/node_widget/includes/node_widget.form.inc
@@ -71,7 +71,9 @@ function node_widget_node_form_validate(&$form, &$form_state) {
   foreach (node_widget_get_fields($form) as $field) {
     $node_widget = new node_widget($field, $form, $form_state);
     foreach ($node_widget->get_children() as $delta) {
-      $node_widget->validate($delta);
+      if ($form['nid']['#post'][$field['field_name']][$delta]['node_widget']['remove'] != 1 ) {
+        $node_widget->validate($delta);
+      }
     }
   }
 }
@@ -135,7 +137,7 @@ function node_widget_form($form_state, $node, $element = NULL) {
     '#title' => $remove_label,
     '#prefix' => '<div class="node-widget-remove">',
     '#suffix' => '</div>',
-    '#default_value' => FALSE,
+    '#default_value' => ($node->nid) ? FALSE : TRUE,
     '#weight' => -99,
   );
 
diff --git a/sites/all/modules/contrib/node_widget/includes/node_widget.theme.inc b/sites/all/modules/contrib/node_widget/includes/node_widget.theme.inc
index 5cefc98..7ae4836 100644
--- a/sites/all/modules/contrib/node_widget/includes/node_widget.theme.inc
+++ b/sites/all/modules/contrib/node_widget/includes/node_widget.theme.inc
@@ -18,7 +18,7 @@ function node_widget_theme() {
 /**
  * Theme function for node_widget_element widget.
  */
-function theme_node_widget_element(&$element) {
+function theme_node_widget_element($element) {
   return $element['#children'];
 }
 
@@ -27,4 +27,4 @@ function theme_node_widget_element(&$element) {
  */
 function theme_node_widget_form($form) {
   return drupal_render($form);
-}
\ No newline at end of file
+}
diff --git a/sites/all/modules/contrib/node_widget/modules/content.node_widget.inc b/sites/all/modules/contrib/node_widget/modules/content.node_widget.inc
index 03f543b..d748668 100644
--- a/sites/all/modules/contrib/node_widget/modules/content.node_widget.inc
+++ b/sites/all/modules/contrib/node_widget/modules/content.node_widget.inc
@@ -19,7 +19,7 @@ function content_node_widget_form_alter(&$form, &$form_state, $form_id) {
 /**
  * Implementation of hook_node_widget_is_empty()
  */
-function content_node_widget_is_empty(&$form, &$form_state) {
+function content_node_widget_is_empty($form, $form_state) {
   if (is_array($form['#field_info'])) {
     foreach ($form['#field_info'] as $name => $field) {
       foreach ($form_state['values'][$name] as $item) {
diff --git a/sites/all/modules/contrib/node_widget/modules/node.node_widget.inc b/sites/all/modules/contrib/node_widget/modules/node.node_widget.inc
index c403b72..0e8fbd0 100644
--- a/sites/all/modules/contrib/node_widget/modules/node.node_widget.inc
+++ b/sites/all/modules/contrib/node_widget/modules/node.node_widget.inc
@@ -50,7 +50,7 @@ function node_node_widget_widget_settings($type) {
 /**
  * Implementation of hook_node_widget_is_empty()
  */
-function node_node_widget_is_empty(&$form, &$form_state) {
+function node_node_widget_is_empty($form, $form_state) {
   // @todo: make this more accurate considering also other fields
   return empty($form_state['values']['title']);
 }
