diff --git a/drivers/firewire/core-transaction.c b/drivers/firewire/core-transaction.c
index 9882240205cd221b3f4e0df7515a2da65cb2d8fb..901669876c253e78518c91331ac5a37c6786827b 100644
--- a/drivers/firewire/core-transaction.c
+++ b/drivers/firewire/core-transaction.c
@@ -842,7 +842,7 @@ void fw_core_handle_response(struct fw_card *card, struct fw_packet *p)
 	list_for_each_entry(t, &card->transaction_list, link) {
 		if (t->node_id == source && t->tlabel == tlabel) {
 			list_del(&t->link);
-			card->tlabel_mask &= ~(1 << t->tlabel);
+			card->tlabel_mask &= ~(1ULL << t->tlabel);
 			break;
 		}
 	}