diff --git a/pdf.c b/pdf.c
index f3485ade1cf50a9dd37e5da9e84e52ad22686fcf..c06cb2672cb77aa97276be9eaa9f9f256f099f35 100644
--- a/pdf.c
+++ b/pdf.c
@@ -1809,21 +1809,13 @@ LZWDecode(const Dict *parms, HBytes b, HParser *p)
 		assert(!"LZWDecode: failed to decompress\n");
 	}
 	done = depredict(&pred, cur_lzw_spec->lzw_buf, cur_lzw_spec->write_head-1);
-
-	if(done && ret)
-	{
-		fprintf(stderr, "LZWDecode: Depredict returned zero!\n");
-	}
-
-#ifdef ITERATIVE
-	assert(done); // XXX always 0 if depredict() is depred_none
-#endif
+	assert(!done);	// XXX ITERATIVE
 
 	res = h_parse(p, pred.out, pred.nout);
+	free(pred.out);
 
 	bind_lzw_spec(NULL);
 	delete_lzw_spec(lzw_spec);
-	free(pred.out);
 
 	return res;
 }