This paper proposes a new technique called CORBAas-needed to improve the performance of distributed CORBA applications. CORBA-as-needed allows distributed CORBA applications to first detect if the interoperability functionality of CORBA communication methods are indeed needed in a particular invocation, and bypass them if this functionality is not needed for that invocation. The paper describes three design techniques to incorporate CORBA-as-needed in the current CORBA architecture. The paper also describes the design, implementation, and a detailed performance evaluation of a custom-made system to validate the usefulness of the CORBA-as-needed technique.