diff --git a/src/fix.cc b/src/fix.cc
index 66ca5f1c2186e575b3230723d5f8982b0e140458..ef35703342bfa5c84ed1fc611f524f6000839431 100644
--- a/src/fix.cc
+++ b/src/fix.cc
@@ -169,6 +169,18 @@ static string processBinding(EvalState & state, Expr e, FState & fs)
     if (ATmatch(e, "True")) return "1";
     
     if (ATmatch(e, "False")) return "";
+
+    ATermList l;
+    if (ATmatch(e, "[<list>]", &l)) {
+	string s;
+	bool first = true;
+        while (!ATisEmpty(l)) {
+	    if (!first) s = s + " "; else first = false;
+	    s += processBinding(state, evalExpr(state, ATgetFirst(l)), fs);
+            l = ATgetNext(l);
+        }
+	return s;
+    }
     
     throw badTerm("invalid package binding", e);
 }