diff --git a/ghc/interpreter/translate.c b/ghc/interpreter/translate.c
index 4cac5b0f545b63a3ac1bab76063d9828845de3f1..fb761d1791530bd67c350bdae61d9ee37c887e7d 100644
--- a/ghc/interpreter/translate.c
+++ b/ghc/interpreter/translate.c
@@ -10,8 +10,8 @@
  * included in the distribution.
  *
  * $RCSfile: translate.c,v $
- * $Revision: 1.16 $
- * $Date: 1999/11/16 17:38:58 $
+ * $Revision: 1.17 $
+ * $Date: 1999/11/22 17:18:02 $
  * ------------------------------------------------------------------------*/
 
 #include "prelude.h"
@@ -611,10 +611,14 @@ static StgPrimAlt boxResults( String reps, StgVar state )
         }
         rs = cons(v,rs);
     }
+
     /* Construct tuple of results */
+    if (i == 0) {
+        e = nameUnit;
+    } else
     if (i == 1) {
         e = hd(bs);
-    } else { /* includes i==0 case */
+    } else {
         StgVar r = mkStgVar(mkStgCon(mkTuple(i),rev(bs)),NIL);
         rbinds = cons(r,rbinds);
         e = r;