diff --git a/Kwf/Model/Abstract.php b/Kwf/Model/Abstract.php
index <HASH>..<HASH> 100644
--- a/Kwf/Model/Abstract.php
+++ b/Kwf/Model/Abstract.php
@@ -1185,9 +1185,15 @@ abstract class Kwf_Model_Abstract implements Kwf_Model_Interface
             return;
         }
         $ret[$model->getFactoryId()] = $model;
-        foreach ($model->getDependentModels() as $m) {
-            self::_findAllInstancesProcessModel($ret, $m);
+
+        if ($model instanceof Kwf_Model_Proxy) {
+            self::_findAllInstancesProcessModel($ret, $model->getProxyModel());
+        } else if ($model instanceof Kwf_Model_Union) {
+            foreach ($model->getUnionModels() as $subModel) {
+                self::_findAllInstancesProcessModel($ret, $subModel);
+            }
         }
+
         foreach ($model->getDependentModels() as $m) {
             self::_findAllInstancesProcessModel($ret, $m);
         }
Fix bug with Kwf_Model_Abstract::findAllInstances()

it did not return proxied model or models connected through unionModel