diff --git a/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp b/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp
index 50f5a364755a2fd6944c31b5c1e9ec0a67f0227c..8166a03beadc49809176ada9dd46cd5ca0df5df9 100644
--- a/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp
+++ b/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp
@@ -2110,9 +2110,14 @@ void ExatnMpsVisitor::applyTwoQubitGate(xacc::Instruction& in_gateInstruction)
           const bool checkRank =
               m_rightSharedProcessGroup->rankIsIn(m_rank + 1, &neighborRank);
           assert(checkRank);
+          const auto tensorShape = exatn::getTensor(qubitTensorName)->getShape();
           const bool dereplicateTensorOk = exatn::dereplicateTensorSync(
               *m_rightSharedProcessGroup, qubitTensorName, neighborRank);
           assert(dereplicateTensorOk);
+          auto recreated = exatn::createTensorSync(
+              *m_selfProcessGroup, qubitTensorName,
+              exatn::TensorElementType::COMPLEX64, tensorShape);
+          assert(recreated);
         }
     }
     else if (indexInRange(qMax, m_qubitRange))