diff --git a/test/fixedbugs/issue8606.go b/test/fixedbugs/issue8606.go
new file mode 100644
index 0000000..676c06c
--- /dev/null
+++ b/test/fixedbugs/issue8606.go
@@ -0,0 +1,46 @@
+// run
+
+// Copyright 2020 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 file.
+
+// Check to make sure that we compare fields in order. See issue 8606.
+
+package main
+
+import "fmt"
+
+func main() {
+	type A [2]interface{}
+	type S struct{ x, y interface{} }
+
+	for _, test := range []struct {
+		panic bool
+		a, b  interface{}
+	}{
+		{false, A{1, []byte{1}}, A{2, []byte{1}}},
+		{true, A{[]byte{1}, 1}, A{[]byte{1}, 2}},
+		{false, S{1, []byte{1}}, S{2, []byte{1}}},
+		{true, S{[]byte{1}, 1}, S{[]byte{1}, 2}},
+	} {
+		f := func() {
+			if test.a == test.b {
+				panic(fmt.Sprintf("values %#v and %#v should not be equal", test.a, test.b))
+			}
+		}
+		if test.panic {
+			shouldPanic(fmt.Sprintf("comparing %#v and %#v did not panic", test.a, test.b), f)
+		} else {
+			f() // should not panic
+		}
+	}
+}
+
+func shouldPanic(name string, f func()) {
+	defer func() {
+		if recover() == nil {
+			panic(name)
+		}
+	}()
+	f()
+}
