Index: src/frontc/cabs2cil.ml
===================================================================
--- src/frontc/cabs2cil.ml	(revision 12127)
+++ src/frontc/cabs2cil.ml	(working copy)
@@ -4357,7 +4357,12 @@
             A.NOTHING -> skipChunk
           | _ -> let (se2,_,_) = doExp false e2 ADrop in se2
         in
-        finishExp (doCondition asconst e1 se2 se3) zero intType
+        let se =
+            if isEmpty se2 && isEmpty se3
+            then let se1,_,_ = doExp asconst e1 ADrop in se1
+            else doCondition asconst e1 se2 se3
+        in
+        finishExp se zero intType
           
     | A.QUESTION (e1, e2, e3) -> begin (* what is not ADrop *)
         (* Compile the conditional expression *)
