use of static synchronized Singleton -- bad idea?

Is the static synchronized method like the snippet below likely to cause problems? If yes, any suggested alternatives?

public class PrintUI extends WisorUI {
        
        private static final long serialVersionUID = -2459423686860649185L;

        private static PrintUI printUI = null;
        
        public static synchronized PrintUI getInstance() {
    		if(printUI == null) {
    			printUI = new PrintUI();
    		}
    		return printUI;
    	}
    ...