diff --git a/modules/freelinking_prepopulate/freelinking_prepopulate.module b/modules/freelinking_prepopulate/freelinking_prepopulate.module
index 51e4c86..0cd9c44 100644
--- a/modules/freelinking_prepopulate/freelinking_prepopulate.module
+++ b/modules/freelinking_prepopulate/freelinking_prepopulate.module
@@ -32,7 +32,7 @@ function freelinking_prepopulate_freelinking() {
  */
 function freelinking_prepopulate_node_callback($target, $plugin) {
   // Use specified node type or fallback to configuration.
-  if ($target['type']) {
+  if (isset($target['type'])) {
     $node_type = check_plain($target['type']);
   }
   else {
@@ -60,7 +60,7 @@ function freelinking_prepopulate_node_callback($target, $plugin) {
   $query['edit[title]'] = check_plain($target['dest']);
 
   // Use arguments targeted for Prepopulate or get values from current node/page.
-  if (is_array($target['other']['prepopulate'])) {
+  if (isset($target['other']['prepopulate']) && is_array($target['other']['prepopulate'])) {
     foreach ($target['other']['prepopulate'] as $field => $value) {
       $query[$field] = $value;
     }
@@ -125,5 +125,5 @@ function freelinking_prepopulate_node_settings() {
  */
 function _freelinking_prepopulate_default_node_type() {
   $types = node_type_get_names();
-  return $types[0];
+  return reset($types);
 }
diff --git a/modules/freelinking_prepopulate/freelinking_prepopulate.utilities.inc b/modules/freelinking_prepopulate/freelinking_prepopulate.utilities.inc
index 60949eb..2c886a3 100644
--- a/modules/freelinking_prepopulate/freelinking_prepopulate.utilities.inc
+++ b/modules/freelinking_prepopulate/freelinking_prepopulate.utilities.inc
@@ -157,6 +157,10 @@ function freelinking_prepopulate_list_fields($plugin = 'nodecreate', $field = NU
   }
 
   if (!$fields) {
+    $fields = array();
+    if(!isset($plugins[$plugin])){
+        $plugins[$plugin] = array();
+    }
     if (module_exists('taxonomy')) {
       $fields['taxonomy'] = array(
         'title' => t('Same taxonomy terms (for shared vocabularies)'),
