diff --git a/quiche/quic/load_balancer/load_balancer_encoder.cc b/quiche/quic/load_balancer/load_balancer_encoder.cc
index 6cc8e0e..914b890 100644
--- a/quiche/quic/load_balancer/load_balancer_encoder.cc
+++ b/quiche/quic/load_balancer/load_balancer_encoder.cc
@@ -178,8 +178,9 @@
     const QuicConnectionId &original, const ParsedQuicVersion &version) {
   // Pre-IETF versions of QUIC can respond poorly to new connection IDs issued
   // during the handshake.
-  return (!version.HasIetfQuicFrames() &&
-          original.length() == CurrentConnectionIdLength())
+  uint8_t needed_length = config_.has_value() ? config_->total_len()
+                                              : unroutable_connection_id_len_;
+  return (!version.HasIetfQuicFrames() && original.length() == needed_length)
              ? absl::optional<QuicConnectionId>()
              : GenerateConnectionId();
 }
diff --git a/quiche/quic/load_balancer/load_balancer_encoder.h b/quiche/quic/load_balancer/load_balancer_encoder.h
index 589c347..7594262 100644
--- a/quiche/quic/load_balancer/load_balancer_encoder.h
+++ b/quiche/quic/load_balancer/load_balancer_encoder.h
@@ -84,12 +84,14 @@
   // the current config, or 0 if there is no current config.
   absl::uint128 num_nonces_left() const { return num_nonces_left_; }
 
+  // Functions below are declared virtual to enable mocking.
   // Returns true if there is an active configuration.
-  bool IsEncoding() const { return config_.has_value(); }
+  virtual bool IsEncoding() const { return config_.has_value(); }
   // Returns true if there is an active configuration that uses encryption.
-  bool IsEncrypted() const {
+  virtual bool IsEncrypted() const {
     return config_.has_value() && config_->IsEncrypted();
   }
+  virtual bool len_self_encoded() const { return len_self_encoded_; }
 
   // If there's an active config, generates a connection ID using it. If not,
   // generates an unroutable connection_id. If there's an error, returns a zero-
@@ -103,9 +105,7 @@
       const QuicConnectionId& original,
       const ParsedQuicVersion& version) override;
 
- private:
-  friend class test::LoadBalancerEncoderPeer;
-
+ protected:
   LoadBalancerEncoder(QuicRandom& random,
                       LoadBalancerEncoderVisitorInterface* const visitor,
                       const bool len_self_encoded,
@@ -115,11 +115,10 @@
         visitor_(visitor),
         unroutable_connection_id_len_(unroutable_connection_id_len) {}
 
-  QuicConnectionId MakeUnroutableConnectionId(uint8_t first_byte);
+ private:
+  friend class test::LoadBalancerEncoderPeer;
 
-  uint8_t CurrentConnectionIdLength() const {
-    return IsEncoding() ? config_->total_len() : unroutable_connection_id_len_;
-  }
+  QuicConnectionId MakeUnroutableConnectionId(uint8_t first_byte);
 
   QuicRandom& random_;
   const bool len_self_encoded_;
