From: Johan on
I had the same problem and i solved it by plotting the output from the pwelch function myself, like this:

[Pxx1 F1] = pwelch(x1,[],[],[],fs);
Pxx1dB = 10*log10(Pxx1);
semilogx(F1,Pxx1dB,'r')
hold on
[Pxx2 F2] = pwelch(x2,[],[],[],fs);
Pxx2dB = 10*log10(Pxx2);
semilogx(F2,Pxx2dB)
hold off
grid on

For some reason the x-axis limits are a bit to high, so you might want to adjust the axis like:
axis([min(F2) max(F2) min(Pxx2dB) max(Pxx2dB)])

It might not be as short as one would like, but it works =)