diff --git a/ghc/tests/typecheck/should_compile/tc099.hs b/ghc/tests/typecheck/should_compile/tc099.hs
new file mode 100644
index 0000000000000000000000000000000000000000..367789a4c740e2e64f35210a7e6321060f944fab
--- /dev/null
+++ b/ghc/tests/typecheck/should_compile/tc099.hs
@@ -0,0 +1,8 @@
+-- !! check if tc type substitutions really do
+-- !! clone (or if not, work around it by cloning
+-- !! all binders in first pass of the simplifier).
+module ShouldCompile where
+
+f,g :: Eq a => (a,b)
+f = g
+g = f
diff --git a/ghc/tests/typecheck/should_compile/tc099.stderr b/ghc/tests/typecheck/should_compile/tc099.stderr
new file mode 100644
index 0000000000000000000000000000000000000000..985f8e8503ca49fc2ecba802535c6a966b5390f1
--- /dev/null
+++ b/ghc/tests/typecheck/should_compile/tc099.stderr
@@ -0,0 +1,6 @@
+ghc: module version changed to 1; reason: no old .hi file
+_exports_
+ShouldCompile f g;
+_declarations_
+1 f _:_ _forall_ [a b] {PrelBase.Eq a} => (a, b) ;;
+1 g _:_ _forall_ [a b] {PrelBase.Eq a} => (a, b) ;;