diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php b/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
index 6429989cd..d4790f62b 100644
--- a/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
+++ b/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
@@ -254,7 +254,7 @@ class ClassMetadataFactory
             // Invoke driver
             try {
                 $this->_driver->loadMetadataForClass($className, $class);
-            } catch(ReflectionException $e) { 
+            } catch(ReflectionException $e) {
                 throw MappingException::reflectionFailure($className, $e);
             }
 
diff --git a/lib/Doctrine/ORM/Mapping/Driver/DriverChain.php b/lib/Doctrine/ORM/Mapping/Driver/DriverChain.php
index 3abf3480c..d97a61e5b 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/DriverChain.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/DriverChain.php
@@ -96,8 +96,8 @@ class DriverChain implements Driver
 
     /**
      * Whether the class with the specified name should have its metadata loaded.
-     * This is only the case if it is either mapped as an Entity or a
-     * MappedSuperclass.
+     *
+     * This is only the case for non-transient classes either mapped as an Entity or MappedSuperclass.
      *
      * @param string $className
      * @return boolean
@@ -110,6 +110,7 @@ class DriverChain implements Driver
             }
         }
 
-        throw MappingException::classIsNotAValidEntityOrMappedSuperClass($className);
+        // class isTransient, i.e. not an entity or mapped superclass
+        return true;
     }
 }
\ No newline at end of file
diff --git a/tests/Doctrine/Tests/ORM/Mapping/AllTests.php b/tests/Doctrine/Tests/ORM/Mapping/AllTests.php
index dcd5c768c..30a8ead5b 100644
--- a/tests/Doctrine/Tests/ORM/Mapping/AllTests.php
+++ b/tests/Doctrine/Tests/ORM/Mapping/AllTests.php
@@ -28,6 +28,7 @@ class AllTests
         $suite->addTestSuite('Doctrine\Tests\ORM\Mapping\ClassMetadataFactoryTest');
         $suite->addTestSuite('Doctrine\Tests\ORM\Mapping\ClassMetadataLoadEventTest');
         $suite->addTestSuite('Doctrine\Tests\ORM\Mapping\BasicInheritanceMappingTest');
+        $suite->addTestSuite('Doctrine\Tests\ORM\Mapping\DriverChainTest');
 
         return $suite;
     }
diff --git a/tests/Doctrine/Tests/ORM/Mapping/DriverChainTest.php b/tests/Doctrine/Tests/ORM/Mapping/DriverChainTest.php
index bc00bf72b..333b8638b 100644
--- a/tests/Doctrine/Tests/ORM/Mapping/DriverChainTest.php
+++ b/tests/Doctrine/Tests/ORM/Mapping/DriverChainTest.php
@@ -50,17 +50,6 @@ class DriverChainTest extends \Doctrine\Tests\OrmTestCase
         $chain->loadMetadataForClass($className, $classMetadata);
     }
 
-    public function testIsTransient_NoDelegatorFound_ThrowsMappingException()
-    {
-        $className = 'Doctrine\Tests\ORM\Mapping\DriverChainEntity';
-        $classMetadata = new \Doctrine\ORM\Mapping\ClassMetadata($className);
-
-        $chain = new DriverChain();
-
-        $this->setExpectedException('Doctrine\ORM\Mapping\MappingException');
-        $chain->isTransient($className);
-    }
-
     public function testGatherAllClassNames()
     {
         $className = 'Doctrine\Tests\ORM\Mapping\DriverChainEntity';
@@ -83,6 +72,21 @@ class DriverChainTest extends \Doctrine\Tests\OrmTestCase
 
         $this->assertEquals(array('Foo', 'Bar', 'Baz'), $chain->getAllClassNames());
     }
+
+    /**
+     * @group DDC-706
+     */
+    public function testIsTransient()
+    {
+        $reader = new \Doctrine\Common\Annotations\AnnotationReader(new \Doctrine\Common\Cache\ArrayCache());
+        $reader->setDefaultAnnotationNamespace('Doctrine\ORM\Mapping\\');
+        
+        $chain = new DriverChain();
+        $chain->addDriver(new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($reader, array()), 'Doctrine\Tests\Models\CMS');
+
+        $this->assertTrue($chain->isTransient('stdClass'), "stdClass isTransient");
+        $this->assertFalse($chain->isTransient('Doctrine\Tests\Models\CMS\CmsUser'), "CmsUser is not Transient");
+    }
 }
 
 class DriverChainEntity