diff --git a/src/Type/PHPUnit/GetMockBuilderDynamicReturnTypeExtension.php b/src/Type/PHPUnit/GetMockBuilderDynamicReturnTypeExtension.php
index 4c7dbe6..f4bff04 100644
--- a/src/Type/PHPUnit/GetMockBuilderDynamicReturnTypeExtension.php
+++ b/src/Type/PHPUnit/GetMockBuilderDynamicReturnTypeExtension.php
@@ -4,15 +4,24 @@
 
 use PhpParser\Node\Expr\MethodCall;
 use PHPStan\Analyser\Scope;
+use PHPStan\Broker\Broker;
 use PHPStan\Reflection\MethodReflection;
 use PHPStan\Reflection\ParametersAcceptorSelector;
 use PHPStan\Type\Constant\ConstantStringType;
 use PHPStan\Type\Type;
 use PHPStan\Type\TypeWithClassName;
 
-class GetMockBuilderDynamicReturnTypeExtension implements \PHPStan\Type\DynamicMethodReturnTypeExtension
+class GetMockBuilderDynamicReturnTypeExtension implements \PHPStan\Type\DynamicMethodReturnTypeExtension, \PHPStan\Reflection\BrokerAwareExtension
 {
 
+	/** @var \PHPStan\Broker\Broker */
+	private $broker;
+
+	public function setBroker(Broker $broker): void
+	{
+		$this->broker = $broker;
+	}
+
 	public function getClass(): string
 	{
 		return 'PHPUnit\Framework\TestCase';
@@ -37,6 +46,9 @@ public function getTypeFromMethodCall(MethodReflection $methodReflection, Method
 
 		$class = $argType->getValue();
 
+		if (!$this->broker->hasClass($class)) {
+			return $mockBuilderType;
+		}
 		if (!$mockBuilderType instanceof TypeWithClassName) {
 			throw new \PHPStan\ShouldNotHappenException();
 		}