OPS5 is one of the most widely used Production System languages. The control strategies provided in OPS-like languages are extremely weak and consequently during problem solving, frequently dead-ends are encountered. We have made an attempt to perform dependency-directed backtracking within the framework of an OPS-like interpreter which employs a Truth Maintenance System for reasoning with past actions. The conditions for backtrack are characterised by the violation of a set of domain-specific constraints and signaled as contradictions in the Dependency Network (D-Net). We have developed a system, called OPS91, which comprises an enhanced match-select-act cycle operating on a D-Net as working memory. This cycle is explained with reference to the D-Net structure and the correlation between the D-Net and Rete-Net operations. The revision algorithm and null conflict set resolution strategy are detailed. The performance of the system is evaluated and broad guidelines on the programming strategy are presented.