diff --git a/src/Storm/Model/PersistenceStrategy/Volatile.php b/src/Storm/Model/PersistenceStrategy/Volatile.php
index f9262921224d9e6f3706f096bc967ec493ed490f..0cea7806d0dfda9a1a7e898588220f332d13344e 100644
--- a/src/Storm/Model/PersistenceStrategy/Volatile.php
+++ b/src/Storm/Model/PersistenceStrategy/Volatile.php
@@ -225,6 +225,10 @@ class Storm_Model_PersistenceStrategy_Volatile  extends Storm_Model_PersistenceS
     if (!array_key_exists($key, $model))
       return false;
 
+    if (is_array($value) && count($value) == 0)
+      throw new Storm_Model_Exception(sprintf('array given for %s is empty',
+                                              $key));
+
     if (is_array($value) && in_array($model[$key], $value))
       return true;
 
diff --git a/tests/Storm/Test/LoaderVolatileTest.php b/tests/Storm/Test/LoaderVolatileTest.php
index a1cb12eac6cf7f1ba23ba8d15bed30e444f93a82..851f5af2cdf1639ed4328f194f2d21d1f207143d 100644
--- a/tests/Storm/Test/LoaderVolatileTest.php
+++ b/tests/Storm/Test/LoaderVolatileTest.php
@@ -486,7 +486,7 @@ class Storm_Test_LoaderVolatileTest extends Storm_Test_ModelTestCase {
 
   /**
    * @expectedException Storm_Model_Exception
-   * @expectedExceptionMessage 'array given for login is empty'
+   * @expectedExceptionMessage array given for login is empty
    * @test
    **/
   public function findAllWithLoginEmptyArrayShouldRaiseEmptyArrayException() {