diff --git a/scripts/meson-buildoptions.py b/scripts/meson-buildoptions.py
index 71ee56bd2222b9747e22af0f0166cb775880724a..d48af99aaff8ddba5e541c5178b22e492b9baf5b 100755
--- a/scripts/meson-buildoptions.py
+++ b/scripts/meson-buildoptions.py
@@ -58,7 +58,23 @@ def print_parse(options):
     print("}")
 
 
+def fixup_options(options):
+    # Meson <= 0.60 does not include the choices in array options, fix that up
+    for opt in options:
+        if opt["name"] == "trace_backends":
+            opt["choices"] = [
+                "dtrace",
+                "ftrace",
+                "log",
+                "nop",
+                "simple",
+                "syslog",
+                "ust",
+            ]
+
+
 options = load_options(json.load(sys.stdin))
+fixup_options(options)
 print("# This file is generated by meson-buildoptions.py, do not edit!")
 print_help(options)
 print_parse(options)