diff --git a/quic/quartc/quartc_session.cc b/quic/quartc/quartc_session.cc
index 93f32bb..d23662f 100644
--- a/quic/quartc/quartc_session.cc
+++ b/quic/quartc/quartc_session.cc
@@ -275,9 +275,9 @@
   return ActivateDataStream(CreateDataStream(id, QuicStream::kDefaultPriority));
 }
 
-QuicStream* QuartcSession::CreateIncomingStream(PendingStream* pending) {
-  return ActivateDataStream(
-      CreateDataStream(pending, QuicStream::kDefaultPriority));
+QuicStream* QuartcSession::CreateIncomingStream(PendingStream* /*pending*/) {
+  QUIC_NOTREACHED();
+  return nullptr;
 }
 
 std::unique_ptr<QuartcStream> QuartcSession::CreateDataStream(
@@ -291,12 +291,6 @@
   return InitializeDataStream(QuicMakeUnique<QuartcStream>(id, this), priority);
 }
 
-std::unique_ptr<QuartcStream> QuartcSession::CreateDataStream(
-    PendingStream* pending,
-    spdy::SpdyPriority priority) {
-  return InitializeDataStream(QuicMakeUnique<QuartcStream>(pending), priority);
-}
-
 std::unique_ptr<QuartcStream> QuartcSession::InitializeDataStream(
     std::unique_ptr<QuartcStream> stream,
     spdy::SpdyPriority priority) {
diff --git a/quic/quartc/quartc_session.h b/quic/quartc/quartc_session.h
index 6e7ab6c..6828f69 100644
--- a/quic/quartc/quartc_session.h
+++ b/quic/quartc/quartc_session.h
@@ -197,8 +197,6 @@
 
   std::unique_ptr<QuartcStream> CreateDataStream(QuicStreamId id,
                                                  spdy::SpdyPriority priority);
-  std::unique_ptr<QuartcStream> CreateDataStream(PendingStream* pending,
-                                                 spdy::SpdyPriority priority);
   // Activates a QuartcStream.  The session takes ownership of the stream, but
   // returns an unowned pointer to the stream for convenience.
   QuartcStream* ActivateDataStream(std::unique_ptr<QuartcStream> stream);
diff --git a/quic/quartc/quartc_stream.cc b/quic/quartc/quartc_stream.cc
index 1250185..607fa43 100644
--- a/quic/quartc/quartc_stream.cc
+++ b/quic/quartc/quartc_stream.cc
@@ -24,11 +24,6 @@
   sequencer()->set_level_triggered(true);
 }
 
-QuartcStream::QuartcStream(PendingStream* pending)
-    : QuicStream(pending, BIDIRECTIONAL, /*is_static=*/false) {
-  sequencer()->set_level_triggered(true);
-}
-
 QuartcStream::~QuartcStream() {}
 
 void QuartcStream::OnDataAvailable() {
diff --git a/quic/quartc/quartc_stream.h b/quic/quartc/quartc_stream.h
index 9c4450d..403ce6d 100644
--- a/quic/quartc/quartc_stream.h
+++ b/quic/quartc/quartc_stream.h
@@ -26,7 +26,6 @@
 class QuartcStream : public QuicStream {
  public:
   QuartcStream(QuicStreamId id, QuicSession* session);
-  explicit QuartcStream(PendingStream* pending);
 
   ~QuartcStream() override;
 
