swapping out preg_replace() in the driver library where str_replace() works just fine.
diff --git a/system/libraries/Driver.php b/system/libraries/Driver.php
index b90b5ab..1e01fcc 100644
--- a/system/libraries/Driver.php
+++ b/system/libraries/Driver.php
@@ -43,11 +43,11 @@
 
 		// The class will be prefixed with the parent lib
 		$child_class = $this->lib_name.'_'.$child;
-
+	
 		// Remove the CI_ prefix and lowercase
-		$lib_name = ucfirst(strtolower(preg_replace('/^CI_/', '', $this->lib_name)));
-		$driver_name = strtolower(preg_replace('/^CI_/', '', $child_class));
-
+		$lib_name = ucfirst(strtolower(str_replace('CI_', '', $this->lib_name)));
+		$driver_name = strtolower(str_replace('CI_', '', $child_class));
+		
 		if (in_array($driver_name, array_map('strtolower', $this->valid_drivers)))
 		{
 			// check and see if the driver is in a separate file