diff --git a/qpid/cpp/src/qpid/ha/Primary.cpp b/qpid/cpp/src/qpid/ha/Primary.cpp
index ca92ad7..3a9c9a8 100644
--- a/qpid/cpp/src/qpid/ha/Primary.cpp
+++ b/qpid/cpp/src/qpid/ha/Primary.cpp
@@ -259,13 +259,6 @@
     if (backup) checkReady(backup);
 }
 
-void Primary::addReplica(ReplicatingSubscription& rs) {
-    // Note this is called before the ReplicatingSubscription has been activated
-    // on the queue.
-    sys::Mutex::ScopedLock l(lock);
-    replicas[make_pair(rs.getBrokerInfo().getSystemId(), rs.getQueue())] = &rs;
-}
-
 // NOTE: Called with queue registry lock held.
 void Primary::queueCreate(const QueuePtr& q) {
     // Set replication argument.
diff --git a/qpid/cpp/src/qpid/ha/Primary.h b/qpid/cpp/src/qpid/ha/Primary.h
index 58e6e68..8ca36b3 100644
--- a/qpid/cpp/src/qpid/ha/Primary.h
+++ b/qpid/cpp/src/qpid/ha/Primary.h
@@ -83,7 +83,6 @@
     void setBrokerUrl(const Url&) {}
 
     void readyReplica(const ReplicatingSubscription&);
-    void addReplica(ReplicatingSubscription&);
 
     // Called via BrokerObserver
     void queueCreate(const QueuePtr&);
@@ -107,8 +106,6 @@
     typedef std::set<RemoteBackupPtr > BackupSet;
 
     typedef std::pair<types::Uuid, boost::shared_ptr<broker::Queue> > UuidQueue;
-    typedef sys::unordered_map<UuidQueue, ReplicatingSubscription*,
-                               Hasher<UuidQueue> > ReplicaMap;
 
     RemoteBackupPtr backupConnect(const BrokerInfo&, broker::Connection&, sys::Mutex::ScopedLock&);
     void backupDisconnect(RemoteBackupPtr, sys::Mutex::ScopedLock&);
@@ -139,7 +136,6 @@
     boost::shared_ptr<broker::BrokerObserver> brokerObserver;
     boost::shared_ptr<broker::SessionHandlerObserver> sessionHandlerObserver;
     boost::intrusive_ptr<sys::TimerTask> timerTask;
-    ReplicaMap replicas;
     PrimaryQueueLimits queueLimits;
 };
 }} // namespace qpid::ha
diff --git a/qpid/cpp/src/qpid/ha/ReplicatingSubscription.cpp b/qpid/cpp/src/qpid/ha/ReplicatingSubscription.cpp
index 8530413..64fdae1 100644
--- a/qpid/cpp/src/qpid/ha/ReplicatingSubscription.cpp
+++ b/qpid/cpp/src/qpid/ha/ReplicatingSubscription.cpp
@@ -157,8 +157,6 @@
                      << ", backup (keep " << skipEnqueue << ", drop " << initDequeues << ")");
             checkReady(l);
         }
-
-        if (primary) primary->addReplica(*this);
         Mutex::ScopedLock l(lock); // Note dequeued() can be called concurrently.
         // Send initial dequeues to the backup.
         // There must be a shared_ptr(this) when sending.
