Index: viewfield.module
===================================================================
--- viewfield.module	(revision 39)
+++ viewfield.module	(working copy)
@@ -56,13 +56,16 @@ function viewfield_field_settings($op, $
       $form['super_default_widget']['#tree'] = TRUE;
       unset($form['super_default_widget']['#weight']);
       return $form;
+
     case 'validate':
       if ($field['force_default'] && $field['multiple']) {
         form_set_error('multiple', t('Multiple views are not supported if force default is enabled.'));
       }
       break;
+
     case 'save':
       return array('allowed_views', 'super_default', 'token_enabled', 'super_default_widget');
+
     case 'database columns':
       return array(
         'vname' => array('type' => 'varchar', 'not null' => FALSE, 'length' => 32),
@@ -86,6 +89,7 @@ function viewfield_field($op, &$node, $f
         }
       }
       break;
+
     case 'sanitize':
       foreach ($items as $delta => $item) {
         $item = empty($item['vname']) || $field['widget']['force_default'] ? $field['super_default_widget'] : $item;
@@ -265,7 +269,7 @@ function viewfield_select_process($eleme
 /**
  * Prepare a list of views for selection.
  */
-function _viewfield_potential_references($field_settings = TRUE, $field = array(), $delta = 0) {
+function _viewfield_potential_references($optional = TRUE, $field = array(), $delta = 0) {
   $options = array();
   $field['allowed_views'] = isset($field['allowed_views']) ? array_filter($field['allowed_views']) : array();
   $field['allowed_views'] = empty($field['allowed_views']) ? array_keys(views_get_all_views()) : $field['allowed_views'];
@@ -279,7 +283,7 @@ function _viewfield_potential_references
   // views by adding an empty option, otherwise at each submit the user would
   // add a new view. If the field is required AND multiple the first widget has
   // no empty choice.
-  if (!$field_settings && (!$field['required'] || ($field['multiple'] && $delta > 0))) {
+  if ($optional && (!$field['required'] || ($field['multiple'] && $delta > 0))) {
     array_unshift($options, '<'. t('none') .'>');
   }
   return $options;
Index: includes/viewfield.views.inc
===================================================================
--- includes/viewfield.views.inc	(revision 39)
+++ includes/viewfield.views.inc	(working copy)
@@ -13,8 +13,8 @@
  */
 function viewfield_views_query_alter(&$view, &$query) {
   global $_viewfield_stack;
-  if ((!empty($_viewfield_stack)) && (in_array('node', $query->table_queue))) {
-    $placeholders = array_fill(0, count($_viewfield_stack), '%d');
-    $query->add_where(0, 'node.nid NOT IN ('. implode(',', $placeholders) .')', $_viewfield_stack);
+  if (!empty($_viewfield_stack) && in_array('node', $query->table_queue)) {
+    $placeholders = db_placeholders($_viewfield_stack);
+    $query->add_where(0, "node.nid NOT IN ($placeholders)", $_viewfield_stack);
   }
 }
