diff --git a/tablefield.module b/tablefield.module
index 3e93149..792bae4 100644
--- a/tablefield.module
+++ b/tablefield.module
@@ -232,7 +232,8 @@ function tablefield_field_widget_form(&$form, &$form_state, $field, $instance, $
   $form['#attributes']['enctype'] = 'multipart/form-data';
 
   // Establish a list of saved/submitted/default values
-  if (isset($form_state['clicked_button']['#value']) && $form_state['clicked_button']['#name'] == 'tablefield_rebuild_' . $field['field_name'] . '_' . $delta) {
+  $rebuild_pattern = 'tablefield_rebuild_' . $field['field_name'] . '_';
+  if (isset($form_state['clicked_button']['#value']) && preg_match('/^' . $rebuild_pattern . '[0-9]+$/', $form_state['clicked_button']['#name'])) {
     // Rebuilding table rows/cols
     $default_value = tablefield_rationalize_table($form_state['tablefield_rebuild'][$field['field_name']][$langcode][$delta]['tablefield']);
   }
