Intenta eliminar el case
anidado . Tal vez haga una diferencia para el compilador por alguna razón:
CASE
WHEN b.condition = 'ERROR' AND c.condition2 = 'ERROR' THEN d.condition3
WHEN b.condition = 'ERROR' THEN c.condition2
ELSE c.condition
END as current_condition,
...