diff --git a/src/cmd/troff/fns.h b/src/cmd/troff/fns.h
index 922a3a8..d04fd03 100644
--- a/src/cmd/troff/fns.h
+++ b/src/cmd/troff/fns.h
@@ -172,6 +172,7 @@
 void	caseev(void);
 void	envcopy(Env *e1, Env *e2);
 void	caseel(void);
+void caseei(void);
 void	caseie(void);
 void	casexif(void);
 void	caseif(void);
diff --git a/src/cmd/troff/n5.c b/src/cmd/troff/n5.c
index 2c7d328..72f9bbb 100644
--- a/src/cmd/troff/n5.c
+++ b/src/cmd/troff/n5.c
@@ -8,7 +8,7 @@
 #include "fns.h"
 #include "ext.h"
 
-int	iflist[NIF];
+int	iflist[NIF];	/* whether 'else' is true */
 int	ifx;
 int	ifnum = 0;	/* trying numeric expression for .if or .ie condition */
 
@@ -612,6 +612,16 @@
 }
 
 
+void caseei(void)
+{
+	if (--ifx < 0) {
+		ifx = 0;
+		iflist[0] = 0;
+	}
+	caseif1(1);
+	ifx++;
+}
+
 void caseel(void)
 {
 	if (--ifx < 0) {
@@ -621,7 +631,6 @@
 	caseif1(2);
 }
 
-
 void caseie(void)
 {
 	if (ifx >= NIF) {
@@ -629,11 +638,11 @@
 		ifx = 0;
 		edone(040);
 	}
+	iflist[ifx] = 1;
 	caseif1(1);
 	ifx++;
 }
 
-
 void caseif(void)
 {
 	caseif1(0);
@@ -645,7 +654,7 @@
 	int notflag, true;
 	Tchar i;
 
-	if (x == 2) {
+	if (x == 2) {	/* .el */
 		notflag = 0;
 		true = iflist[ifx];
 		goto i1;
@@ -691,8 +700,10 @@
 	}
 i1:
 	true ^= notflag;
-	if (x == 1)
-		iflist[ifx] = !true;
+	if (x == 1) {	/* .ie or .ei */
+		true = true && iflist[ifx];
+		iflist[ifx] = iflist[ifx] && !true;
+	}
 	if (true) {
 i2:
 		while ((cbits(i = getch())) == ' ')
diff --git a/src/cmd/troff/ni.c b/src/cmd/troff/ni.c
index a80cec6..27a0ff3 100644
--- a/src/cmd/troff/ni.c
+++ b/src/cmd/troff/ni.c
@@ -70,6 +70,7 @@
 	C(PAIR('n', 'r'), casenr),
 	C(PAIR('i', 'f'), caseif),
 	C(PAIR('i', 'e'), caseie),
+	C(PAIR('e', 'i'), caseei),
 	C(PAIR('e', 'l'), caseel),
 	C(PAIR('p', 'o'), casepo),
 	C(PAIR('t', 'l'), casetl),
