I don't see how then
could be in FOLLOW(X)
. I get the same answer as you do.
The only thing that can precede then
in that grammar is an E
and E
cannot end with L
. Furthermore, FOLLOW(E)
includes do
as well as then
, so if a followset includes FOLLOW(E)
it would have to include both of those tokens.