diff --git a/ghc/interpreter/type.c b/ghc/interpreter/type.c
index 05501a6233b72391adcf6940939f56cff290c4d3..9ce98030dfe2837396986d36be65a759788193c4 100644
--- a/ghc/interpreter/type.c
+++ b/ghc/interpreter/type.c
@@ -9,8 +9,8 @@
  * included in the distribution.
  *
  * $RCSfile: type.c,v $
- * $Revision: 1.35 $
- * $Date: 2000/04/27 16:35:30 $
+ * $Revision: 1.36 $
+ * $Date: 2000/05/26 17:42:18 $
  * ------------------------------------------------------------------------*/
 
 #include "hugsbasictypes.h"
@@ -1135,6 +1135,7 @@ List qs; {
 
             case FROMQUAL : {   Int beta = newTyvars(1);
                                 saveVarsAss();
+				enterPendingBtyvs();
 				spCheck(l,snd(snd(q)),NIL,genQual,m,beta);
                                 enterSkolVars();
                                 fst(snd(q))
@@ -1142,7 +1143,7 @@ List qs; {
                                 shouldBe(l,fst(snd(q)),NIL,genQual,aVar,beta);
                                 typeComp(l,m,e,qs1);
                                 restoreVarsAss();
-                                doneBtyvs(l);
+			        leavePendingBtyvs();
                                 leaveSkolVars(l,typeIs,typeOff,0);
                             }
                             break;