diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py
index 4e15a43c2..bd2716b2b 100644
--- a/lib/bb/data_smart.py
+++ b/lib/bb/data_smart.py
@@ -35,6 +35,7 @@ __expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~:]+?}")
  __expand_python_regexp__ = re.compile(r"\${@(?:{.*?}|.)+?}")
  __whitespace_split__ = re.compile(r'(\s)')
  __override_regexp__ = re.compile(r'[a-z0-9]+')
+__old_override_detailed_regexp__ = re.compile(r"(_append|_prepend|_remove)(_|$)")
  
  bitbake_renamed_vars = {
      "BB_ENV_WHITELIST": "BB_ENV_PASSTHROUGH",
@@ -539,14 +540,14 @@ class DataSmart(MutableMapping):
          return var in self.overridedata
  
      def setVar(self, var, value, **loginfo):
-
          if not var.startswith("__anon_") and ("_append" in var or "_prepend" in var or "_remove" in var):
-            info = "%s" % var
-            if "file" in loginfo:
-                info += " file: %s" % loginfo["file"]
-            if "line" in loginfo:
-                info += " line: %s" % loginfo["line"]
-            bb.fatal("Variable %s contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake." % info)
+            if re.search(__old_override_detailed_regexp__, var) is not None:
+                info = "%s" % var
+                if "file" in loginfo:
+                    info += " file: %s" % loginfo["file"]
+                if "line" in loginfo:
+                    info += " line: %s" % loginfo["line"]
+                bb.fatal("Variable %s contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake." % info)
  
          shortvar = var.split(":", 1)[0]
          if shortvar in self._var_renames:
