Thank you very much.
In fact, Most pattern matching functions should be defined with := to avoid this type of problem. I find that using = (Set) is the exception and not the rule...
You need to use a Setdelayed (:=) instead of Set (=) to create your function:
NullFunction1[t_] := 0*t;
To understand why, type ?NullFunction1 to see your definition and then do the same for the new definition.
Regards