diff --git a/.changeset/great-humans-live.md b/.changeset/great-humans-live.md
new file mode 100644
index 0000000000000000000000000000000000000000..1d97d9da23ae2dfe98dd2be69c1e80f723c5b681
--- /dev/null
+++ b/.changeset/great-humans-live.md
@@ -0,0 +1,5 @@
+---
+"@rocket.chat/meteor": patch
+---
+
+Fixed a Federation callback not awaiting db call
diff --git a/apps/meteor/app/federation/server/hooks/afterUnsetReaction.js b/apps/meteor/app/federation/server/hooks/afterUnsetReaction.js
index 51181d88ab9e4246a2bd2a9a84a08d8efe014b45..995146b290bf40a3c95922b2eb2cf303c04dba41 100644
--- a/apps/meteor/app/federation/server/hooks/afterUnsetReaction.js
+++ b/apps/meteor/app/federation/server/hooks/afterUnsetReaction.js
@@ -6,7 +6,7 @@ import { getFederationDomain } from '../lib/getFederationDomain';
 import { clientLogger } from '../lib/logger';
 
 async function afterUnsetReaction(message, { user, reaction }) {
-	const room = Rooms.findOneById(message.rid, { fields: { federation: 1 } });
+	const room = await Rooms.findOneById(message.rid, { projection: { federation: 1 } });
 
 	// If there are not federated users on this room, ignore it
 	if (!hasExternalDomain(room)) {