diff --git a/internal/protolegacy/proto.go b/internal/protolegacy/proto.go
new file mode 100644
index 0000000..ffca87a
--- /dev/null
+++ b/internal/protolegacy/proto.go
@@ -0,0 +1,125 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE.md file.
+
+// Package protolegacy is a stub version of the v1 proto package
+// to satisfy internal/testprotos/legacy dependencies.
+package protolegacy
+
+import (
+	"bytes"
+	"compress/gzip"
+	"errors"
+	"fmt"
+	"io/ioutil"
+
+	"google.golang.org/protobuf/reflect/protoreflect"
+	"google.golang.org/protobuf/reflect/protoregistry"
+	"google.golang.org/protobuf/runtime/protoiface"
+	"google.golang.org/protobuf/runtime/protoimpl"
+)
+
+const (
+	ProtoPackageIsVersion1 = true
+	ProtoPackageIsVersion2 = true
+	ProtoPackageIsVersion3 = true
+)
+
+const (
+	WireVarint     = 0
+	WireFixed32    = 5
+	WireFixed64    = 1
+	WireBytes      = 2
+	WireStartGroup = 3
+	WireEndGroup   = 4
+)
+
+type (
+	Message                = protoiface.MessageV1
+	ExtensionRange         = protoiface.ExtensionRangeV1
+	ExtensionDesc          = protoimpl.ExtensionInfo
+	Extension              = protoimpl.ExtensionFieldV1
+	XXX_InternalExtensions = protoimpl.ExtensionFields
+)
+
+func RegisterFile(s string, d []byte) {
+	// Decompress the descriptor.
+	zr, err := gzip.NewReader(bytes.NewReader(d))
+	if err != nil {
+		panic(fmt.Sprintf("proto: invalid compressed file descriptor: %v", err))
+	}
+	b, err := ioutil.ReadAll(zr)
+	if err != nil {
+		panic(fmt.Sprintf("proto: invalid compressed file descriptor: %v", err))
+	}
+
+	// Construct a protoreflect.FileDescriptor from the raw descriptor.
+	// Note that DescBuilder.Build automatically registers the constructed
+	// file descriptor with the v2 registry.
+	protoimpl.DescBuilder{RawDescriptor: b}.Build()
+}
+
+func RegisterType(m Message, s string) {
+	mt := protoimpl.X.LegacyMessageTypeOf(m, protoreflect.FullName(s))
+	if err := protoregistry.GlobalTypes.Register(mt); err != nil {
+		panic(err)
+	}
+}
+
+func RegisterMapType(interface{}, string) {
+	// Do nothing.
+}
+
+func RegisterEnum(string, map[int32]string, map[string]int32) {
+	// Do nothing.
+}
+
+func RegisterExtension(d *ExtensionDesc) {
+	if err := protoregistry.GlobalTypes.Register(d); err != nil {
+		panic(err)
+	}
+}
+
+var ErrInternalBadWireType = errors.New("not implemented")
+
+func Size(Message) int                { panic("not implemented") }
+func Marshal(Message) ([]byte, error) { panic("not implemented") }
+func Unmarshal([]byte, Message) error { panic("not implemented") }
+
+func SizeVarint(uint64) int             { panic("not implemented") }
+func EncodeVarint(uint64) []byte        { panic("not implemented") }
+func DecodeVarint([]byte) (uint64, int) { panic("not implemented") }
+
+func CompactTextString(Message) string                                  { panic("not implemented") }
+func EnumName(map[int32]string, int32) string                           { panic("not implemented") }
+func UnmarshalJSONEnum(map[string]int32, []byte, string) (int32, error) { panic("not implemented") }
+
+type Buffer struct{}
+
+func (*Buffer) DecodeFixed32() (uint64, error)      { panic("not implemented") }
+func (*Buffer) DecodeFixed64() (uint64, error)      { panic("not implemented") }
+func (*Buffer) DecodeGroup(Message) error           { panic("not implemented") }
+func (*Buffer) DecodeMessage(Message) error         { panic("not implemented") }
+func (*Buffer) DecodeRawBytes(bool) ([]byte, error) { panic("not implemented") }
+func (*Buffer) DecodeStringBytes() (string, error)  { panic("not implemented") }
+func (*Buffer) DecodeVarint() (uint64, error)       { panic("not implemented") }
+func (*Buffer) DecodeZigzag32() (uint64, error)     { panic("not implemented") }
+func (*Buffer) DecodeZigzag64() (uint64, error)     { panic("not implemented") }
+func (*Buffer) EncodeFixed32(uint64) error          { panic("not implemented") }
+func (*Buffer) EncodeFixed64(uint64) error          { panic("not implemented") }
+func (*Buffer) EncodeMessage(Message) error         { panic("not implemented") }
+func (*Buffer) EncodeRawBytes([]byte) error         { panic("not implemented") }
+func (*Buffer) EncodeStringBytes(string) error      { panic("not implemented") }
+func (*Buffer) EncodeVarint(uint64) error           { panic("not implemented") }
+func (*Buffer) EncodeZigzag32(uint64) error         { panic("not implemented") }
+func (*Buffer) EncodeZigzag64(uint64) error         { panic("not implemented") }
+func (*Buffer) Marshal(Message) error               { panic("not implemented") }
+func (*Buffer) Unmarshal(Message) error             { panic("not implemented") }
+
+type InternalMessageInfo struct{}
+
+func (*InternalMessageInfo) DiscardUnknown(Message)                        { panic("not implemented") }
+func (*InternalMessageInfo) Marshal([]byte, Message, bool) ([]byte, error) { panic("not implemented") }
+func (*InternalMessageInfo) Merge(Message, Message)                        { panic("not implemented") }
+func (*InternalMessageInfo) Size(Message) int                              { panic("not implemented") }
+func (*InternalMessageInfo) Unmarshal(Message, []byte) error               { panic("not implemented") }
diff --git a/internal/testprotos/legacy/legacy.proto b/internal/testprotos/legacy/legacy.proto
index 631368d..d12c312 100644
--- a/internal/testprotos/legacy/legacy.proto
+++ b/internal/testprotos/legacy/legacy.proto
@@ -15,6 +15,10 @@
 //
 // The specific version of protoc-gen-go used is encoded in the file path:
 //	$NAME.$VERSION-$COMMIT_DATE-$COMMIT_HASH/test.proto
+//
+// To avoid a dependency on the v1 module, we perform the following
+// import path replacement to all generated .pb.go files:
+//	"github.com/golang/protobuf/proto" => "google.golang.org/protobuf/internal/protolegacy"
 
 // The oldest supported version of protoc-gen-go is 2fc053c5,
 // which finished adding descriptor methods to all protobuf types.
diff --git a/internal/testprotos/legacy/proto2.v0.0.0-20160225-2fc053c5/test.pb.go b/internal/testprotos/legacy/proto2.v0.0.0-20160225-2fc053c5/test.pb.go
index e309b9a..af917de 100644
--- a/internal/testprotos/legacy/proto2.v0.0.0-20160225-2fc053c5/test.pb.go
+++ b/internal/testprotos/legacy/proto2.v0.0.0-20160225-2fc053c5/test.pb.go
@@ -14,7 +14,7 @@
 */
 package github_com_golang_protobuf_v2_internal_testprotos_legacy_proto2_v0_0_0_20160225_2fc053c5
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto2.v0.0.0-20160519-a4ab9ec5/test.pb.go b/internal/testprotos/legacy/proto2.v0.0.0-20160519-a4ab9ec5/test.pb.go
index 2cfedc0..ee49e0b 100644
--- a/internal/testprotos/legacy/proto2.v0.0.0-20160519-a4ab9ec5/test.pb.go
+++ b/internal/testprotos/legacy/proto2.v0.0.0-20160519-a4ab9ec5/test.pb.go
@@ -14,7 +14,7 @@
 */
 package proto2_v0_0_0_20160519_a4ab9ec5
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto2.v1.0.0-20180125-92554152/test.pb.go b/internal/testprotos/legacy/proto2.v1.0.0-20180125-92554152/test.pb.go
index 12f197a..448d8f1 100644
--- a/internal/testprotos/legacy/proto2.v1.0.0-20180125-92554152/test.pb.go
+++ b/internal/testprotos/legacy/proto2.v1.0.0-20180125-92554152/test.pb.go
@@ -13,7 +13,7 @@
 */
 package proto2_v1_0_0_20180125_92554152
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto2.v1.1.0-20180430-b4deda09/test.pb.go b/internal/testprotos/legacy/proto2.v1.1.0-20180430-b4deda09/test.pb.go
index 3531f06..49d8708 100644
--- a/internal/testprotos/legacy/proto2.v1.1.0-20180430-b4deda09/test.pb.go
+++ b/internal/testprotos/legacy/proto2.v1.1.0-20180430-b4deda09/test.pb.go
@@ -3,7 +3,7 @@
 
 package proto2_v1_1_0_20180430_b4deda09 // import "google.golang.org/protobuf/internal/testprotos/legacy/proto2.v1.1.0-20180430-b4deda09"
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto2.v1.2.0-20180814-aa810b61/test.pb.go b/internal/testprotos/legacy/proto2.v1.2.0-20180814-aa810b61/test.pb.go
index c286f1d..f361a6b 100644
--- a/internal/testprotos/legacy/proto2.v1.2.0-20180814-aa810b61/test.pb.go
+++ b/internal/testprotos/legacy/proto2.v1.2.0-20180814-aa810b61/test.pb.go
@@ -3,7 +3,7 @@
 
 package proto2_v1_2_0_20180814_aa810b61 // import "google.golang.org/protobuf/internal/testprotos/legacy/proto2.v1.2.0-20180814-aa810b61"
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto2.v1.2.1-20181126-8d0c54c1/test.pb.go b/internal/testprotos/legacy/proto2.v1.2.1-20181126-8d0c54c1/test.pb.go
index 14d8d3d..a74d810 100644
--- a/internal/testprotos/legacy/proto2.v1.2.1-20181126-8d0c54c1/test.pb.go
+++ b/internal/testprotos/legacy/proto2.v1.2.1-20181126-8d0c54c1/test.pb.go
@@ -5,7 +5,7 @@
 
 import (
 	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
+	proto "google.golang.org/protobuf/internal/protolegacy"
 	math "math"
 )
 
diff --git a/internal/testprotos/legacy/proto3.v0.0.0-20160225-2fc053c5/test.pb.go b/internal/testprotos/legacy/proto3.v0.0.0-20160225-2fc053c5/test.pb.go
index 5d99a45..57bee45 100644
--- a/internal/testprotos/legacy/proto3.v0.0.0-20160225-2fc053c5/test.pb.go
+++ b/internal/testprotos/legacy/proto3.v0.0.0-20160225-2fc053c5/test.pb.go
@@ -14,7 +14,7 @@
 */
 package github_com_golang_protobuf_v2_internal_testprotos_legacy_proto3_v0_0_0_20160225_2fc053c5
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto3.v0.0.0-20160519-a4ab9ec5/test.pb.go b/internal/testprotos/legacy/proto3.v0.0.0-20160519-a4ab9ec5/test.pb.go
index 192270b..e645d88 100644
--- a/internal/testprotos/legacy/proto3.v0.0.0-20160519-a4ab9ec5/test.pb.go
+++ b/internal/testprotos/legacy/proto3.v0.0.0-20160519-a4ab9ec5/test.pb.go
@@ -14,7 +14,7 @@
 */
 package proto3_v0_0_0_20160519_a4ab9ec5
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto3.v1.0.0-20180125-92554152/test.pb.go b/internal/testprotos/legacy/proto3.v1.0.0-20180125-92554152/test.pb.go
index 15b1118..3ee02f8 100644
--- a/internal/testprotos/legacy/proto3.v1.0.0-20180125-92554152/test.pb.go
+++ b/internal/testprotos/legacy/proto3.v1.0.0-20180125-92554152/test.pb.go
@@ -13,7 +13,7 @@
 */
 package proto3_v1_0_0_20180125_92554152
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto3.v1.1.0-20180430-b4deda09/test.pb.go b/internal/testprotos/legacy/proto3.v1.1.0-20180430-b4deda09/test.pb.go
index fe35c37..55e3721 100644
--- a/internal/testprotos/legacy/proto3.v1.1.0-20180430-b4deda09/test.pb.go
+++ b/internal/testprotos/legacy/proto3.v1.1.0-20180430-b4deda09/test.pb.go
@@ -3,7 +3,7 @@
 
 package proto3_v1_1_0_20180430_b4deda09 // import "google.golang.org/protobuf/internal/testprotos/legacy/proto3.v1.1.0-20180430-b4deda09"
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto3.v1.2.0-20180814-aa810b61/test.pb.go b/internal/testprotos/legacy/proto3.v1.2.0-20180814-aa810b61/test.pb.go
index 50fcdf1..3852206 100644
--- a/internal/testprotos/legacy/proto3.v1.2.0-20180814-aa810b61/test.pb.go
+++ b/internal/testprotos/legacy/proto3.v1.2.0-20180814-aa810b61/test.pb.go
@@ -3,7 +3,7 @@
 
 package proto3_v1_2_0_20180814_aa810b61 // import "google.golang.org/protobuf/internal/testprotos/legacy/proto3.v1.2.0-20180814-aa810b61"
 
-import proto "github.com/golang/protobuf/proto"
+import proto "google.golang.org/protobuf/internal/protolegacy"
 import fmt "fmt"
 import math "math"
 
diff --git a/internal/testprotos/legacy/proto3.v1.2.1-20181126-8d0c54c1/test.pb.go b/internal/testprotos/legacy/proto3.v1.2.1-20181126-8d0c54c1/test.pb.go
index daa1d6b..4549363 100644
--- a/internal/testprotos/legacy/proto3.v1.2.1-20181126-8d0c54c1/test.pb.go
+++ b/internal/testprotos/legacy/proto3.v1.2.1-20181126-8d0c54c1/test.pb.go
@@ -5,7 +5,7 @@
 
 import (
 	fmt "fmt"
-	proto "github.com/golang/protobuf/proto"
+	proto "google.golang.org/protobuf/internal/protolegacy"
 	math "math"
 )
 
diff --git a/proto/extension_test.go b/proto/extension_test.go
index 33b56df..dd67e9f 100644
--- a/proto/extension_test.go
+++ b/proto/extension_test.go
@@ -31,10 +31,8 @@
 			value:       int32(1),
 		},
 		{
-			message: &testpb.TestAllExtensions{},
-			ext:     testpb.E_RepeatedStringExtension,
-			// TODO: Represent repeated extension fields as []T.
-			// https://github.com/golang/protobuf/issues/901
+			message:     &testpb.TestAllExtensions{},
+			ext:         testpb.E_RepeatedStringExtension,
 			wantDefault: ([]string)(nil),
 			value:       []string{"a", "b", "c"},
 		},
