Allow a database to be loaded before controller instantiation
diff --git a/system/database/DB.php b/system/database/DB.php
index d411b67..8ea7ca6 100644
--- a/system/database/DB.php
+++ b/system/database/DB.php
@@ -61,18 +61,23 @@
 		}
 
 		include($file_path);
-		// Make packages contain database config files
-		foreach (get_instance()->load->get_package_paths() as $path)
+
+		// Make packages contain database config files,
+		// given that the controller instance already exists
+		if (class_exists('CI_Controller', FALSE))
 		{
-			if ($path !== APPPATH)
+			foreach (get_instance()->load->get_package_paths() as $path)
 			{
-				if (file_exists($file_path = $path.'config/'.ENVIRONMENT.'/database.php'))
+				if ($path !== APPPATH)
 				{
-					include($file_path);
-				}
-				elseif (file_exists($file_path = $path.'config/database.php'))
-				{
-					include($file_path);
+					if (file_exists($file_path = $path.'config/'.ENVIRONMENT.'/database.php'))
+					{
+						include($file_path);
+					}
+					elseif (file_exists($file_path = $path.'config/database.php'))
+					{
+						include($file_path);
+					}
 				}
 			}
 		}