diff --git a/include/class.variable.php b/include/class.variable.php
index 3b9e8ce2497492f34436400072c603f6aaa12725..b6c08c7ff74ea192019f9dff9d1f552764455058 100644
--- a/include/class.variable.php
+++ b/include/class.variable.php
@@ -167,7 +167,7 @@ class VariableReplacer {
         foreach ($scope as $name => $info) {
             if ($exclude === $name)
                 continue;
-            if (isset($info['class']) && $recurse) {
+            if ($recurse && is_array($info) && isset($info['class'])) {
                 $items[$name] = $info['desc'];
                 foreach (static::compileScope($info['class']::getVarScope(), $recurse-1,
                     @$info['exclude'] ?: $name)