this is recommended in the manual, it contains a race condition. Interpreter interpreter = Interpreter.getInstance (); if ( interpreter == null ) { interpreter = Interpreter.createInstance (); } getInstance and createInstance should be swapped.