Problem with WHEN - ELSE
In VHDL, you have to take into account every possibilities in a combinatory block for the program to work properly. I think that if you add a line with 

WHEN D0='1' AND D1='1'


It will work again.