Improve custom_result_object() method
diff --git a/system/database/drivers/oci8/oci8_result.php b/system/database/drivers/oci8/oci8_result.php
index 7781b5b..ce6aa99 100644
--- a/system/database/drivers/oci8/oci8_result.php
+++ b/system/database/drivers/oci8/oci8_result.php
@@ -306,7 +306,7 @@
 	 */
 	public function custom_result_object($class_name)
 	{
-		if (array_key_exists($class_name, $this->custom_result_object))
+		if (isset($this->custom_result_object[$class_name]))
 		{
 			return $this->custom_result_object[$class_name];
 		}
@@ -332,18 +332,17 @@
 			$data = &$this->result_object;
 		}
 
-		$result_object = array();
+		$this->custom_result_object[$class_name] = array();
 		for ($i = 0, $c = count($data); $i < $c; $i++)
 		{
-			$result_object[$i] = new $class_name();
+			$this->custom_result_object[$class_name][$i] = new $class_name();
 			foreach ($data[$i] as $key => $value)
 			{
-				$result_object[$i]->$key = $value;
+				$this->custom_result_object[$class_name][$i]->$key = $value;
 			}
 		}
 
-		// Cache and return the array
-		return $this->custom_result_object[$class_name] = $result_object;
+		return $this->custom_result_object[$class_name];
         }
 
 	// --------------------------------------------------------------------