diff --git a/node_reference/node_reference.module b/node_reference/node_reference.module
index 8c78bc0..ffcd1a7 100644
--- a/node_reference/node_reference.module
+++ b/node_reference/node_reference.module
@@ -450,7 +450,7 @@ function node_reference_field_widget_form(&$form, &$form_state, $field, $instanc
       $element += array(
         '#type' => 'textfield',
         '#default_value' => isset($items[$delta]['nid']) ? $items[$delta]['nid'] : NULL,
-        '#autocomplete_path' => $instance['widget']['settings']['autocomplete_path'] . '/' . $instance['entity_type'] . '/' . $field['field_name'],
+        '#autocomplete_path' => $instance['widget']['settings']['autocomplete_path'] . '/' . $instance['bundle'] . '/' . $field['field_name'],
         '#size' => $instance['widget']['settings']['size'],
         '#element_validate' => array('node_reference_autocomplete_validate'),
         '#value_callback' => 'node_reference_autocomplete_value',
@@ -671,13 +671,15 @@ function node_reference_autocomplete_access($entity_type, $field_name) {
 /**
  * Menu callback for the autocomplete results.
  */
-function node_reference_autocomplete($entity_type, $field_name, $string = '') {
-  $field = field_info_field($field_name);
+function node_reference_autocomplete($bundle_name, $field_name, $string = '') {
+  $instance = field_info_instance('node', $field_name, $bundle_name);
 
-  // @todo broken - this is in $field['widget']['settings']['autocomplete_match'] - we'd need the $instance.
-  $match = isset($field['widget']['autocomplete_match']) ? $field['widget']['autocomplete_match'] : 'contains';
+  $match = isset($instance['widget']['settings']['autocomplete_match'])
+    ? $instance['widget']['settings']['autocomplete_match']
+    : 'contains';
   $matches = array();
 
+  $field = field_info_field($field_name);
   $references = _node_reference_potential_references($field, $string, $match, array(), 10);
   foreach ($references as $id => $row) {
     // Add a class wrapper for a few required CSS overrides.
