You do not have an else corresponding to the if on line 2. The else that you have on the 5th line of your code corresponds to the else in line 6 of the algorithm.
You want
if this
if that
%this and that
else
%this but not that
end
else
%not this
end
but what you have is equivalent to
if this
if that
%this and that
end
%case of this but ~that was not tested
else
%not this
end