/* Release all locks the tracked transactions were holding */
    StandbyReleaseAllLocks();
+
+   /* Cleanup our VirtualTransaction */
+   VirtualXactLockTableCleanup();
 }
 
 
 
 static bool FastPathTransferRelationLocks(LockMethod lockMethodTable,
                              const LOCKTAG *locktag, uint32 hashcode);
 static PROCLOCK *FastPathGetRelationLockEntry(LOCALLOCK *locallock);
-static void VirtualXactLockTableCleanup(void);
 
 /*
  * To make the fast-path lock mechanism work, we must have some way of
  *     Check whether a VXID lock has been materialized; if so, release it,
  *     unblocking waiters.
  */
-static void
+void
 VirtualXactLockTableCleanup()
 {
    bool        fastpath;
 
 
 /* Lock a VXID (used to wait for a transaction to finish) */
 extern void VirtualXactLockTableInsert(VirtualTransactionId vxid);
+extern void VirtualXactLockTableCleanup(void);
 extern bool VirtualXactLock(VirtualTransactionId vxid, bool wait);
 
 #endif   /* LOCK_H */