We present an approach to rewriting in inductively sequential rewriting systems with a very distinctive feature. In the class of systems that we consider, any reducible term defines a needed step, a step that must be executed by any rewriting computation that produces the term's normal form. We show an implementation of rewriting that avoids executing some needed steps by replacing those steps with function calls. Our approach improves the efficiency of many computations---in some cases by one or two orders of magnitude. Our work is motivated by and applicable to the implementation of functional logic programming languages.