Index: branches/release-30/extlib/TheSchwartz/FuncMap.pm
===================================================================
--- branches/release-30/extlib/TheSchwartz/FuncMap.pm (revision 1098)
+++ branches/release-30/extlib/TheSchwartz/FuncMap.pm (revision 1406)
@@ -17,7 +17,14 @@
     my($driver, $funcname) = @_;
 
+    ## Attempt to select funcmap record by name. If successful, return
+    ## object, otherwise proceed with insertion and return.
+    my ($map) = $driver->search('TheSchwartz::FuncMap' =>
+            { funcname => $funcname }
+        );
+    return $map if $map;
+
     ## Attempt to insert a new funcmap row. Since the funcname column is
     ## UNIQUE, if the row already exists, an exception will be thrown.
-    my $map = $class->new;
+    $map = $class->new;
     $map->funcname($funcname);
     eval { $driver->insert($map) };
