diff --git a/quiche/quic/core/quic_connection_id.cc b/quiche/quic/core/quic_connection_id.cc
index 5ef1dac..d0a351c 100644
--- a/quiche/quic/core/quic_connection_id.cc
+++ b/quiche/quic/core/quic_connection_id.cc
@@ -28,14 +28,14 @@
 // that they always land in the same hash bucket.
 class QuicConnectionIdHasher {
  public:
-  inline QuicConnectionIdHasher()
+  QuicConnectionIdHasher()
       : QuicConnectionIdHasher(QuicRandom::GetInstance()) {}
 
-  explicit inline QuicConnectionIdHasher(QuicRandom* random) {
+  explicit QuicConnectionIdHasher(QuicRandom* random) {
     random->RandBytes(&sip_hash_key_, sizeof(sip_hash_key_));
   }
 
-  inline size_t Hash(const char* input, size_t input_len) const {
+  size_t Hash(const char* input, size_t input_len) const {
     return static_cast<size_t>(SIPHASH_24(
         sip_hash_key_, reinterpret_cast<const uint8_t*>(input), input_len));
   }
diff --git a/quiche/quic/core/quic_framer_test.cc b/quiche/quic/core/quic_framer_test.cc
index 3d3ae5d..004092a 100644
--- a/quiche/quic/core/quic_framer_test.cc
+++ b/quiche/quic/core/quic_framer_test.cc
@@ -747,12 +747,12 @@
   // not needed for short header packets, but if sent, this function will exit
   // cleanly. It needs to be called twice for coalesced packets (see references
   // to length_of_first_coalesced_packet below for examples of how to do this).
-  inline void ReviseFirstByteByVersion(unsigned char packet_ietf[]) {
+  void ReviseFirstByteByVersion(unsigned char packet_ietf[]) {
     if (version_.UsesV2PacketTypes() && (packet_ietf[0] >= 0x80)) {
       packet_ietf[0] = (packet_ietf[0] + 0x10) | 0xc0;
     }
   }
-  inline void ReviseFirstByteByVersion(PacketFragments& packet_ietf) {
+  void ReviseFirstByteByVersion(PacketFragments& packet_ietf) {
     ReviseFirstByteByVersion(&packet_ietf[0].fragment[0]);
   }
 
