There is a bug in the org.apache.batik.util.PreferenceManager where the function public Point getPoint(String key) always returns the default value for a given key. This is due to what looks like a simple cut and paste error in the code, and can be resolved by removing the 4 marked lines in the code snippet below. x = Integer.parseInt(token); if (!st.hasMoreTokens()) { internal.remove(key); return defaultValue; } token = st.nextToken(); y = Integer.parseInt(token); -- if (!st.hasMoreTokens()) { -- internal.remove(key); -- return defaultValue; -- } result.setLocation(x,y); return result;