diff --git tests/phpunit/includes/testcase.php tests/phpunit/includes/testcase.php
index e7c3308..c7b13d2 100644
--- tests/phpunit/includes/testcase.php
+++ tests/phpunit/includes/testcase.php
@@ -17,7 +17,8 @@ class WP_UnitTestCase extends PHPUnit_Framework_TestCase {
 	/**
 	 * @var WP_UnitTest_Factory
 	 */
-	protected static $factory;
+	protected static $_factory;
+	protected $factory;
 
 	public static function get_called_class() {
 		if ( function_exists( 'get_called_class' ) ) {
@@ -37,9 +38,7 @@ class WP_UnitTestCase extends PHPUnit_Framework_TestCase {
 	public static function setUpBeforeClass() {
 		parent::setUpBeforeClass();
 
-		if ( ! self::$factory ) {
-			self::$factory = new WP_UnitTest_Factory();
-		}
+		self::_get_factory();
 
 		$c = self::get_called_class();
 		if ( ! method_exists( $c, 'wpSetUpBeforeClass' ) ) {
@@ -64,6 +63,15 @@ class WP_UnitTestCase extends PHPUnit_Framework_TestCase {
 		self::commit_transaction();
 	}
 
+
+	protected static function _get_factory() {
+		if ( ! self::$_factory instanceof WP_UnitTest_Factory ) {
+			self::$_factory = new WP_UnitTest_Factory();
+		}
+		return self::$_factory;
+	}
+
+
 	function setUp() {
 		set_time_limit(0);
 
@@ -80,6 +88,7 @@ class WP_UnitTestCase extends PHPUnit_Framework_TestCase {
 		$wpdb->show_errors = true;
 		$wpdb->db_connect();
 		ini_set('display_errors', 1 );
+		$this->factory = self::_get_factory();
 		$this->clean_up_global_scope();
 
 		/*
@@ -682,4 +691,5 @@ class WP_UnitTestCase extends PHPUnit_Framework_TestCase {
 		$wp_rewrite->set_permalink_structure( $structure );
 		$wp_rewrite->flush_rules();
 	}
+
 }
