diff --git a/pandas/tests/reshape/merge/test_multi.py b/pandas/tests/reshape/merge/test_multi.py
index <HASH>..<HASH> 100644
--- a/pandas/tests/reshape/merge/test_multi.py
+++ b/pandas/tests/reshape/merge/test_multi.py
@@ -195,6 +195,27 @@ class TestMergeMulti:
 
         tm.assert_frame_equal(merged_left_right, merge_right_left)
 
+    def test_merge_multiple_cols_with_mixed_cols_index(self):
+        # GH29522
+        s = pd.Series(
+            range(6),
+            pd.MultiIndex.from_product([["A", "B"], [1, 2, 3]], names=["lev1", "lev2"]),
+            name="Amount",
+        )
+        df = pd.DataFrame(
+            {"lev1": list("AAABBB"), "lev2": [1, 2, 3, 1, 2, 3], "col": 0}
+        )
+        result = pd.merge(df, s.reset_index(), on=["lev1", "lev2"])
+        expected = pd.DataFrame(
+            {
+                "lev1": list("AAABBB"),
+                "lev2": [1, 2, 3, 1, 2, 3],
+                "col": [0] * 6,
+                "Amount": range(6),
+            }
+        )
+        tm.assert_frame_equal(result, expected)
+
     def test_compress_group_combinations(self):
 
         # ~ 40000000 possible unique groups
TST: Merge multiple cols with mixed columns/index (#<I>)