Too much timing???

I have a 72 340 with a unilite 37 mechanical distributor. Supposed to have 20 degrees built in but seems to be 25 when engine is hot. Initial is set at 15 and reads dead on 35 when warm but after a drive and engine is at full temp reads 40 at about 3000 rpm. Pulled it and set it to only have 18 degrees advance built in. Set initial to 17 and was at 35 all in at 2500 rpm and stayed there up to 3500 rpm. Took it for a drive and rechecked it. Still reads 17 degrees initial and 35 degrees up to 3000 rpm then back to 40 degrees over 3000 rpm. Haven't pulled the distributor back out to check the settings again but will when it cools down. Any ideas on why it is changing? Do I need to worry, is 40 too high?