--- ray/src/rt/normal.c 1995/11/22 09:27:55 2.32 +++ ray/src/rt/normal.c 1996/01/03 11:33:56 2.33 @@ -228,7 +228,7 @@ register RAY *r; } else nd.tdiff = nd.tspec = nd.trans = 0.0; /* transmitted ray */ - if ((nd.specfl&(SP_TRAN|SP_PURE)) == (SP_TRAN|SP_PURE)) { + if (nd.specfl&SP_TRAN && (nd.specfl&SP_PURE || r->crtype&SHADOW)) { RAY lr; if (rayorigin(&lr, r, TRANS, nd.tspec) == 0) { VCOPY(lr.rdir, nd.prdir);