diff -urP DBIx/Class/Storage/DBI.pm DBIx.modified/Class/Storage/DBI.pm
--- DBIx/Class/Storage/DBI.pm	2007-08-13 14:20:11.000000000 +0800
+++ DBIx.modified/Class/Storage/DBI.pm	2007-08-13 14:41:47.000000000 +0800
@@ -10,6 +10,7 @@
 use DBIx::Class::Storage::DBI::Cursor;
 use DBIx::Class::Storage::Statistics;
 use Scalar::Util qw/blessed weaken/;
+use UNIVERSAL::require;
 
 __PACKAGE__->mk_group_accessors('simple' =>
     qw/_connect_info _dbi_connect_info _dbh _sql_maker _sql_maker_opts
@@ -481,6 +482,12 @@
   my $last_info = $dbi_info->[-1];
   if(ref $last_info eq 'HASH') {
     $last_info = { %$last_info }; # so delete is non-destructive
+    if (my $cursor_class = $last_info->{cursor_class}) {
+      unless ($cursor_class->require) {
+	warn qq{Failed to load cursor class $cursor_class. Use default...};
+        delete $last_info->{cursor_class};
+      }
+    }
     for my $storage_opt (
         qw/on_connect_do disable_sth_caching unsafe cursor_class/
       ) {
