diff --git a/product/ERP5Type/CachePlugins/BaseCache.py b/product/ERP5Type/CachePlugins/BaseCache.py
index d1f6ef3e3a4e82f7fbcd71ce27d0dfa60f5ffeca..6c3254aa938b4e6dd5a7a985c2e35ccc6211539b 100644
--- a/product/ERP5Type/CachePlugins/BaseCache.py
+++ b/product/ERP5Type/CachePlugins/BaseCache.py
@@ -49,7 +49,7 @@ class CacheEntry(object):
   def __init__(self, value, cache_duration=None, calculation_time=0):
     self.value = value
     if cache_duration in (None, 0):
-      self.expires_at = cache_duration
+      self.expires_at = None
     else:
       self.expires_at = time.time() + cache_duration
     self._cache_hit_count = 0
@@ -60,7 +60,7 @@ class CacheEntry(object):
       - None means allways expire
       - 0 means never expire
     """
-    return self.expires_at is None or self.expires_at != 0 and self.expires_at < time.time()
+    return self.expires_at is None or self.expires_at < time.time()
 
   def markCacheHit(self, delta=1):
     """ mark a read to this cache entry """