diff --git a/typo3/sysext/core/Classes/DataHandling/DataHandler.php b/typo3/sysext/core/Classes/DataHandling/DataHandler.php
index a29eb1c873273bcf706594fa05cabbef071b45a1..0a2ccebdca63e944d94a4a15f64a25477e16c3ee 100644
--- a/typo3/sysext/core/Classes/DataHandling/DataHandler.php
+++ b/typo3/sysext/core/Classes/DataHandling/DataHandler.php
@@ -1785,9 +1785,8 @@ class DataHandler implements LoggerAwareInterface
     {
         if (isset($tcaFieldConf['eval']) && $tcaFieldConf['eval'] !== '') {
             $cacheId = $this->getFieldEvalCacheIdentifier($tcaFieldConf['eval']);
-            if ($this->runtimeCache->has($cacheId)) {
-                $evalCodesArray = $this->runtimeCache->get($cacheId);
-            } else {
+            $evalCodesArray = $this->runtimeCache->get($cacheId);
+            if (!is_array($evalCodesArray)) {
                 $evalCodesArray = GeneralUtility::trimExplode(',', $tcaFieldConf['eval'], true);
                 $this->runtimeCache->set($cacheId, $evalCodesArray);
             }
@@ -1870,9 +1869,8 @@ class DataHandler implements LoggerAwareInterface
         } else {
             // Process evaluation settings:
             $cacheId = $this->getFieldEvalCacheIdentifier($tcaFieldConf['eval']);
-            if ($this->runtimeCache->has($cacheId)) {
-                $evalCodesArray = $this->runtimeCache->get($cacheId);
-            } else {
+            $evalCodesArray = $this->runtimeCache->get($cacheId);
+            if (!is_array($evalCodesArray)) {
                 $evalCodesArray = GeneralUtility::trimExplode(',', $tcaFieldConf['eval'], true);
                 $this->runtimeCache->set($cacheId, $evalCodesArray);
             }