Index: nodepicker.js
===================================================================
--- nodepicker.js	(revision 17)
+++ nodepicker.js	(working copy)
@@ -34,7 +34,17 @@
     
     case "fckeditor":
       var selection = nodepicker_fckeditor_selection(instanceId);
-      $node = $(selection.anchorNode.parentNode);
+      try {
+        $node = $(selection.anchorNode.parentNode);
+      }
+      catch (err) {
+        if(selection.createRange) {
+          $node = selection.createRange().text;
+        }
+        else {
+          $node = selection;
+        }
+      }
     break;
     
     case "ckeditor":
@@ -47,10 +57,15 @@
   }
   
   // Update link if cursor inside anchor tag.
-  if($node[0].nodeName == "A") {
-    $node.replaceWith('<a class="nodepicker-link" href="'+href+'" title="'+$node.attr("title")+'">'+$node.text()+'</a>');
+  try {
+    if($node[0].nodeName == "A") {
+      $node.replaceWith('<a class="nodepicker-link" href="'+href+'" title="'+$node.attr("title")+'">'+$node.text()+'</a>');
+    }
+    else {
+      parent.Drupal.wysiwyg.instances[instanceId].insert('<a class="nodepicker-link" title="'+title+'" href="'+href+'">'+content+'</a>');
+    }
   }
-  else {
+  catch (err) {
     parent.Drupal.wysiwyg.instances[instanceId].insert('<a class="nodepicker-link" title="'+title+'" href="'+href+'">'+content+'</a>');
   }
   
