diff --git a/unittests/test_macros.py b/unittests/test_macros.py
index 98fdf6423182d665e61b08aba03ef5e3346928f2..29b59290ba8d974d241056126d0bdf0bb68364da 100644
--- a/unittests/test_macros.py
+++ b/unittests/test_macros.py
@@ -293,3 +293,39 @@ extroot3: !macro
     assert cfood["extroot2"]["test_two"] is None
     # No recursion
     assert cfood["extroot3"]["test_four"] is None
+
+
+@pytest.mark.xfail(reason="Fix multiple usage of the same macro.")
+def test_use_macro_twice():
+    """Test that the same macro can be used twice with different parameters in
+    the same CFood element if the name depends on the parameters.
+
+    """
+
+    cfood = _temp_file_load("""
+---
+metadata:
+  macros:
+    - !defmacro
+      name: test_twice
+      params:
+        macro_name: default_name
+        a: 4
+      definition:
+        $macro_name:
+          something:
+            a: $a
+---
+extroot: !macro
+  test_twice:
+    macro_name: once
+  test_twice:
+    macro_name: twice
+    a: 5
+  test_twice:
+    """)
+    for name in ["once", "twice", "default_name"]:
+        assert name in cfood["extroot"]
+    assert cfood["extroot"]["once"]["something"]["a"] == 4
+    assert cfood["extroot"]["twice"]["something"]["a"] == 5
+    assert cfood["extroot"]["default_name"]["something"]["a"] == 4