diff --git a/system/libraries/Controller.php b/system/libraries/Controller.php
index b91cf3b..5fdbd9f 100644
--- a/system/libraries/Controller.php
+++ b/system/libraries/Controller.php
@@ -384,7 +384,7 @@
 		require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver'.EXT);
 
 		// Instantiate the DB adapter
-		$driver = 'CI_DB_'. $params['dbdriver'].'_driver';
+		$driver = 'CI_DB_'.$params['dbdriver'].'_driver';
 		$DB = new $driver($params);
 		
 		if ($return === TRUE)
@@ -397,7 +397,49 @@
 		$obj->db =& $DB;
 	}
   	// END _ci_init_database()
-  	
+  
+  
+	// --------------------------------------------------------------------
+
+	/**
+	 * Initialize Database Utilities Class
+	 *
+	 * @access	private
+	 * @param	mixed	database platform
+	 * @param	bool	whether to return the object
+	 * @return	void
+	 */
+	function _ci_init_dbutils($db = '', $return = FALSE)
+	{
+		if ($this->_ci_is_loaded('dbutils') == TRUE AND $return == FALSE)
+		{
+			return;
+		}
+
+		if ($this->_ci_is_loaded('db') == FALSE)
+		{
+			$this->_ci_init_database();
+		}
+	
+		require_once(BASEPATH.'database/DB_utility'.EXT);
+		require_once(BASEPATH.'database/drivers/'.$this->db->dbdriver.'/'.$this->db->dbdriver.'_utility'.EXT);
+		
+
+		// Instantiate the DB adapter
+		$driver = 'CI_DB_'.$this->db->dbdriver.'_utility';
+		$DB = new $driver();
+		
+		if ($return === TRUE)
+		{
+			return $DB;
+		}
+		
+		$obj =& get_instance();
+		$obj->ci_is_loaded[] = 'dbutils';
+		$obj->dbutil =& $DB;
+	}
+  	// END _ci_init_database()
+  
 	// --------------------------------------------------------------------
 
 	/**