diff --git a/quic/core/quic_sent_packet_manager.cc b/quic/core/quic_sent_packet_manager.cc
index 3b4cabc..a9204d6 100644
--- a/quic/core/quic_sent_packet_manager.cc
+++ b/quic/core/quic_sent_packet_manager.cc
@@ -616,12 +616,12 @@
   if (transmission_type == LOSS_RETRANSMISSION) {
     // Record the first packet sent after loss, which allows to wait 1
     // more RTT before giving up on this lost packet.
-    transmission_info->retransmission =
+    transmission_info->first_sent_after_loss =
         unacked_packets_.largest_sent_packet() + 1;
   } else {
     // Clear the recorded first packet sent after loss when version or
     // encryption changes.
-    transmission_info->retransmission.Clear();
+    transmission_info->first_sent_after_loss.Clear();
   }
 }
 
diff --git a/quic/core/quic_transmission_info.h b/quic/core/quic_transmission_info.h
index b28ca2f..6023665 100644
--- a/quic/core/quic_transmission_info.h
+++ b/quic/core/quic_transmission_info.h
@@ -43,10 +43,10 @@
   SentPacketState state;
   // True if the packet contains stream data from the crypto stream.
   bool has_crypto_handshake;
-  // Stores the packet number of the next retransmission of this packet.
-  // Zero if the packet has not been retransmitted.
-  // TODO(fayang): rename this to first_sent_after_loss_.
-  QuicPacketNumber retransmission;
+  // Records the first sent packet after this packet was detected lost. Zero if
+  // this packet has not been detected lost. This is used to keep lost packet
+  // for another RTT (for potential spurious loss detection)
+  QuicPacketNumber first_sent_after_loss;
   // The largest_acked in the ack frame, if the packet contains an ack.
   QuicPacketNumber largest_acked;
 };
diff --git a/quic/core/quic_unacked_packet_map.cc b/quic/core/quic_unacked_packet_map.cc
index 4731296..a18663f 100644
--- a/quic/core/quic_unacked_packet_map.cc
+++ b/quic/core/quic_unacked_packet_map.cc
@@ -126,7 +126,7 @@
 void QuicUnackedPacketMap::RemoveRetransmittability(
     QuicTransmissionInfo* info) {
   DeleteFrames(&info->retransmittable_frames);
-  info->retransmission.Clear();
+  info->first_sent_after_loss.Clear();
 }
 
 void QuicUnackedPacketMap::RemoveRetransmittability(
@@ -168,9 +168,9 @@
 bool QuicUnackedPacketMap::IsPacketUsefulForRetransmittableData(
     const QuicTransmissionInfo& info) const {
   // Wait for 1 RTT before giving up on the lost packet.
-  return info.retransmission.IsInitialized() &&
+  return info.first_sent_after_loss.IsInitialized() &&
          (!largest_acked_.IsInitialized() ||
-          info.retransmission > largest_acked_);
+          info.first_sent_after_loss > largest_acked_);
 }
 
 bool QuicUnackedPacketMap::IsPacketUseless(
diff --git a/quic/core/quic_unacked_packet_map_test.cc b/quic/core/quic_unacked_packet_map_test.cc
index 560b8cb..30482a3 100644
--- a/quic/core/quic_unacked_packet_map_test.cc
+++ b/quic/core/quic_unacked_packet_map_test.cc
@@ -150,7 +150,7 @@
     UpdatePacketState(
         old_packet_number,
         QuicUtils::RetransmissionTypeToPacketState(transmission_type));
-    info->retransmission = QuicPacketNumber(new_packet_number);
+    info->first_sent_after_loss = QuicPacketNumber(new_packet_number);
     SerializedPacket packet(
         CreateRetransmittablePacketForStream(new_packet_number, stream_id));
     unacked_packets_.AddSentPacket(&packet, transmission_type, now_, true);
