rules question



Hello,
what if I want my custom rule to be applied only once? If I say 
matchdeclare(x,true); defrule(f,x,x^2);
then apply1(f,s); goes into infinite loop...
--
Andrei Zorine