diff --git a/qiskit/circuit/quantumcircuit.py b/qiskit/circuit/quantumcircuit.py index 2ca6e5ead696..f50db1d96c28 100644 --- a/qiskit/circuit/quantumcircuit.py +++ b/qiskit/circuit/quantumcircuit.py @@ -863,16 +863,14 @@ def compose( mapped_instrs.append((n_instr, n_qargs, n_cargs)) if front: + # adjust new instrs before original ones and update all parameters dest._data = mapped_instrs + dest._data - else: - dest._data += mapped_instrs - - if front: dest._parameter_table.clear() for instr, _, _ in dest._data: dest._update_parameter_table(instr) else: - # just append new parameters + # just append new instrs and parameters + dest._data += mapped_instrs for instr, _, _ in mapped_instrs: dest._update_parameter_table(instr)