diff --git a/nodereference_url.module b/nodereference_url.module
index e753491..23e02e4 100644
--- a/nodereference_url.module
+++ b/nodereference_url.module
@@ -254,6 +254,13 @@ function nodereference_url_field_widget_settings_form($field, $instance) {
       '#default_value' => isset($settings['edit_fallback']) ? $settings['edit_fallback'] : FALSE,
       '#weight' => -10,
     );
+		// Disable Add Another Item button option
+    $form['disable_another_item_button'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Disable Add Another Item button if Referenced is present in the URL'),
+      '#default_value' => isset($settings['disable_another_item_button']) ? $settings['disable_another_item_button'] : FALSE,
+      '#weight' => -10,
+    );
 
     $form['node_link'] = array(
       '#tree' => TRUE,
@@ -359,7 +366,13 @@ function nodereference_url_field_widget_form(&$form, &$form_state, $field, $inst
 
   // Check that the NID is a valid reference.
   if (!empty($referenced_nid)) {
-    $reference = _node_reference_potential_references($field, '', 'equals', array($referenced_nid), 1);
+    // TODO: Remove legacy function after final release of References module.
+    if (function_exists('node_reference_potential_references')) {
+      $reference = node_reference_potential_references($field, array('ids' => array($referenced_nid), 'limit' => 1));
+    }
+    else {
+      $reference = _node_reference_potential_references($field, '', 'equals', array($referenced_nid), 1);
+    }
     if (empty($reference)) {
       $referenced_nid = NULL;
     }
@@ -409,7 +422,6 @@ function nodereference_url_field_widget_form(&$form, &$form_state, $field, $inst
       '#default_value' => $referenced_nid,
     );
   }
-
   return $element;
 }
 
@@ -489,3 +501,21 @@ function theme_nodereference_url($variables) {
   $element = $variables['element'];
   return $element['#display_title'];
 }
+
+/**
+ * Implements hook_field_attach_form().
+ * Disable the Add another item
+ */
+function nodereference_url_field_attach_form($entity_type, $entity, &$form, &$form_state, $langcode) {
+  foreach ($form_state['field'] as $field_name => $field) {
+    $this_langcode = field_language($entity_type, $entity, $field_name, $langcode);
+    if (isset($field[$this_langcode]) && isset($field[$this_langcode]['field']) && isset($field[$this_langcode]['instance'])) {
+      $cardinality = $field[$this_langcode]['field']['cardinality'];
+      $instance = $field[$this_langcode]['instance'];
+			//check if it's nodeference_url widget type, if have vales
+      if ($instance['widget']['type'] == 'nodereference_url' && ($cardinality == FIELD_CARDINALITY_UNLIMITED) && $instance['widget']['settings']['disable_another_item_button'] && isset($form[$field_name][$this_langcode][0]['nid']['#default_value'])) {
+				$form[$field_name][$this_langcode]['add_more']['#access'] = FALSE;
+      }
+    }
+  }
+}
\ No newline at end of file
