diff --git a/assignment-client/src/avatars/AvatarMixerSlave.cpp b/assignment-client/src/avatars/AvatarMixerSlave.cpp
index 17fadd8284..fe28c96340 100644
--- a/assignment-client/src/avatars/AvatarMixerSlave.cpp
+++ b/assignment-client/src/avatars/AvatarMixerSlave.cpp
@@ -442,13 +442,6 @@ void AvatarMixerSlave::broadcastAvatarDataToDownstreamMixer(const SharedNodePoin
         if (agentNode->getType() == NodeType::Agent && agentNode->getLinkedData()) {
             const AvatarMixerClientData* agentNodeData = reinterpret_cast<const AvatarMixerClientData*>(agentNode->getLinkedData());
 
-            auto now = usecTimestampNow();
-            auto lastBroadcastTime = nodeData->getLastBroadcastTime(agentNode->getUUID());
-            if (lastBroadcastTime <= agentNodeData->getIdentityChangeTimestamp()
-                || (now - lastBroadcastTime) >= REBROADCAST_IDENTITY_TO_DOWNSTREAM_EVERY_US) {
-                sendIdentityPacket(agentNodeData, node);
-            }
-
             AvatarSharedPointer otherAvatar = agentNodeData->getAvatarSharedPointer();
 
             quint64 startAvatarDataPacking = usecTimestampNow();
@@ -465,6 +458,14 @@ void AvatarMixerSlave::broadcastAvatarDataToDownstreamMixer(const SharedNodePoin
             quint64 end = usecTimestampNow();
             _stats.toByteArrayElapsedTime += (end - start);
 
+            auto lastBroadcastTime = nodeData->getLastBroadcastTime(agentNode->getUUID());
+            if (lastBroadcastTime <= agentNodeData->getIdentityChangeTimestamp()
+                || (start - lastBroadcastTime) >= REBROADCAST_IDENTITY_TO_DOWNSTREAM_EVERY_US) {
+                qDebug() << "Sending identity packet for " << agentNode->getUUID() << " to " << node->getUUID();
+                sendIdentityPacket(agentNodeData, node);
+                nodeData->setLastBroadcastTime(agentNode->getUUID(), start);
+            }
+
             // figure out how large our avatar byte array can be to fit in the packet list
             // given that we need it and the avatar UUID and the size of the byte array (16 bit)
             // to fit in a segment of the packet list
diff --git a/libraries/networking/src/LimitedNodeList.cpp b/libraries/networking/src/LimitedNodeList.cpp
index 0494efc7b4..9c0754cf26 100644
--- a/libraries/networking/src/LimitedNodeList.cpp
+++ b/libraries/networking/src/LimitedNodeList.cpp
@@ -446,7 +446,8 @@ qint64 LimitedNodeList::sendPacketList(std::unique_ptr<NLPacketList> packetList,
 
         return _nodeSocket.writePacketList(std::move(packetList), *activeSocket);
     } else {
-        qCDebug(networking) << "LimitedNodeList::sendPacketList called without active socket for node. Not sending.";
+        qCDebug(networking) << "LimitedNodeList::sendPacketList called without active socket for node "
+                            << destinationNode.getUUID() << ". Not sending.";
         return ERROR_SENDING_PACKET_BYTES;
     }
 }
@@ -454,7 +455,8 @@ qint64 LimitedNodeList::sendPacketList(std::unique_ptr<NLPacketList> packetList,
 qint64 LimitedNodeList::sendPacket(std::unique_ptr<NLPacket> packet, const Node& destinationNode,
                                    const HifiSockAddr& overridenSockAddr) {
     if (overridenSockAddr.isNull() && !destinationNode.getActiveSocket()) {
-        qCDebug(networking) << "LimitedNodeList::sendPacket called without active socket for node. Not sending.";
+        qCDebug(networking) << "LimitedNodeList::sendPacket called without active socket for node"
+                            << destinationNode.getUUID() << ". Not sending.";
         return ERROR_SENDING_PACKET_BYTES;
     }