gfortranでコンパイル時、下記のエラーが発生して困っています。

gfortran -i8 '-mcmodel=medium' -fdefault-integer-8 -O2 -mtune=opteron -m64 -c hoge.f
In file hoge.f


 C(1) = LShift(I1,32).or.(I2.and.NM32)
              1
Error: Operands of logical operator '.and.' at (1) are INTEGER(8)/INTEGER(8)

似たような問題を見つけましたが、対処方法がよく分かりません。
ttp://gcc.gnu.org/ml/fortran/2005-07/msg00416.html

どなたか教えて頂けないでしょうか。

ENV: RedHat 4, GCC 4.1.2