diff --git a/modules/freelinking_prepopulate/freelinking_prepopulate.info b/modules/freelinking_prepopulate/freelinking_prepopulate.info
index 45c50bd..fbdfb9f 100644
--- a/modules/freelinking_prepopulate/freelinking_prepopulate.info
+++ b/modules/freelinking_prepopulate/freelinking_prepopulate.info
@@ -4,7 +4,6 @@ package = Input filters
 core = 7.x
 dependencies[] = freelinking
 dependencies[] = prepopulate
-files[] = freelinking_prepopulate.api.php
 files[] = freelinking_prepopulate.install
 files[] = freelinking_prepopulate.module
 files[] = freelinking_prepopulate.utilities.inc
diff --git a/modules/freelinking_prepopulate/freelinking_prepopulate.module b/modules/freelinking_prepopulate/freelinking_prepopulate.module
index 14c6df8..362452f 100644
--- a/modules/freelinking_prepopulate/freelinking_prepopulate.module
+++ b/modules/freelinking_prepopulate/freelinking_prepopulate.module
@@ -67,9 +67,11 @@ function freelinking_prepopulate_node_callback($target, $plugin) {
     }
   }
   else {
+    /*
     $query = array_merge($query, freelinking_prepopulate_fields_from_page(
       variable_get('freelinking_prepopulate_node_advanced', array())
     ));
+    */
   }
 
   // Override query string from syntax.
@@ -104,7 +106,7 @@ function freelinking_prepopulate_node_settings() {
     '#description' => t('Which content type should be created by Freelinking?'),
   );
 
-  $nodecreate[] = freelinking_prepopulate_list_fields('nodecreate');
+  $nodecreate = freelinking_prepopulate_list_fields('nodecreate');
   if (isset($nodecreate)) {
     foreach ($nodecreate as $key => $value) {
       $options[$key] = $value['title'];
diff --git a/modules/freelinking_prepopulate/freelinking_prepopulate.utilities.inc b/modules/freelinking_prepopulate/freelinking_prepopulate.utilities.inc
index 3b0b5da..641db76 100644
--- a/modules/freelinking_prepopulate/freelinking_prepopulate.utilities.inc
+++ b/modules/freelinking_prepopulate/freelinking_prepopulate.utilities.inc
@@ -142,28 +142,7 @@ function freelinking_prepopulate_list_fields($plugin = 'nodecreate', $field = NU
   static $fields;
   static $plugins;
 
-  // We have fields, and no new one to add.
-  // Return all fields associated with the plugin.
-  if ($fields && !$field) {
-    return array_intersect_key($fields, $plugins[$plugin]);
-  }
-
-  if ($field) {
-    // Define a field with prepopulate, or override.
-    if ($field['prepopulate']) {
-      $fields[$field['field']]['prepopulate'] = $field['prepopulate'];
-    }
-    //Define the title of a new field, or override.
-    if ($field['title']) {
-      $fields[$field['field']]['title'] = $field['title'];
-    }
-    // Add an entry for an existing field to the plugins array.
-    // Uniqueness does not matter.
-    if ($fields[$field['field']]['prepopulate']) {
-      $plugins[$plugin][$field['field']] = TRUE;
-    }
-  }
-
+  // first run: cache some default fields
   if (!$fields) {
     if (module_exists('taxonomy')) {
       $fields['taxonomy'] = array(
@@ -179,6 +158,7 @@ function freelinking_prepopulate_list_fields($plugin = 'nodecreate', $field = NU
       );
       $plugins['nodecreate']['book'] = TRUE;
     }
+    /* we can uncomment this after freelinking_prepopulate's OG stuff is ported from 6 to 7
     if (module_exists('og')) {
       $fields['og'] = array(
         'title' => t('Organic Group audience'),
@@ -189,8 +169,32 @@ function freelinking_prepopulate_list_fields($plugin = 'nodecreate', $field = NU
     if (module_exists('locale')) {
       // To Be Implemented
     }
+    */
   }
-  if (is_array($fields && $plugins[$plugin])) {
+
+  // We have fields, and no new one to add.
+  // Return all fields associated with the plugin.
+  if ($fields && !$field) {
+    return array_intersect_key($fields, $plugins[$plugin]);
+  }
+
+  if ($field) {
+    // Define a field with prepopulate, or override.
+    if ($field['prepopulate']) {
+      $fields[$field['field']]['prepopulate'] = $field['prepopulate'];
+    }
+    //Define the title of a new field, or override.
+    if ($field['title']) {
+      $fields[$field['field']]['title'] = $field['title'];
+    }
+    // Add an entry for an existing field to the plugins array.
+    // Uniqueness does not matter.
+    if ($fields[$field['field']]['prepopulate']) {
+      $plugins[$plugin][$field['field']] = TRUE;
+    }
+  }
+
+  if (is_array($fields) && is_array($plugins[$plugin])) {
     return array_intersect_key($fields, $plugins[$plugin]);
   }
 }
diff --git a/plugins/freelinking_nodetitle.inc b/plugins/freelinking_nodetitle.inc
index 56e13cd..cc38b70 100644
--- a/plugins/freelinking_nodetitle.inc
+++ b/plugins/freelinking_nodetitle.inc
@@ -18,24 +18,32 @@ $freelinking['nodetitle'] = array(
  * Replacement callback for nodetitle plugin
  */
 function freelinking_nodetitle_callback($target, $plugin) {
-  $node = freelinking_nodetitle_nid_from_title($target);
+  //$node = freelinking_nodetitle_nid_from_title($target);
 
-  // if no node was found, identify proceed with configured failover
-  if (!$node) {
-    return _freelinking_nodetitle_failure($target);
-  }
+  // get likely path title
+  $trimmed_path_title = trim($target['target']);
+  module_load_include('inc', 'pathauto', 'pathauto');
+  $link_path_title = pathauto_cleanstring($trimmed_path_title);
+
+  $source_path = drupal_lookup_path("source", variable_get('freelinking_path_basepath') . '/' . $link_path_title);
 
-  // construct values for link
-  $title = $target['text'] ? $target['text'] : $node->title;
+  if (strpos($source_path, 'node/') === 0) {
+    $nid = substr($source_path, 5);
+    // construct values for link
+    $title = $target['text'] ? $target['text'] : $trimmed_path_title;
 
-  if (!$target['tooltip']) {
-    $target['tooltip'] = freelinking_internal_tooltip('node', $node->nid);
+    if (!$target['tooltip']) {
+      $target['tooltip'] = freelinking_internal_tooltip('node', $nid);
+    }
+    // return link structure
+    return array($title, 'node/' . $nid, array(
+        'attributes' => array('title' => $target['tooltip']),
+        //'language' => $node->language,
+    ));
+  } else {
+    return _freelinking_nodetitle_failure($target);
   }
-  // return link structure
-  return array($title, 'node/' . $node->nid, array(
-      'attributes' => array('title' => $target['tooltip']),
-      'language' => $node->language,
-  ));
+
 }
 
 /**
