diff --git a/emfield.cck.inc b/emfield.cck.inc
index 6480ebf..f4cf2e6 100644
--- a/emfield.cck.inc
+++ b/emfield.cck.inc
@@ -160,7 +160,9 @@ function _emfield_emfield_widget_settings($op, $widget, $module) {
     case 'save':
       $columns = array('providers');
       foreach (module_implements('emfield_widget_settings_extra') as $module) {
-        $columns = array_merge($columns, module_invoke($module, 'emfield_widget_settings_extra', 'save', $widget));
+        $check = module_invoke($module, 'emfield_widget_settings_extra', 'save', $widget);
+        $invoked = (is_array($check) ? $check : array());
+        $columns = array_merge($columns, $invoked);
       }
 
       return $columns;
