MPU9150 Compass Reading

The compass readings x, y and z are almost similar no matter how I spin the sensor.

For example:
-111 -108 -108
12 13 13

Other sensor readings (accelerometer and gyroscope) are fine.

I use the code from: http://playground.arduino.cc/Main/MPU-9150
I only change this: MPU9150_I2C_ADDRESS = 0x68; (from 0x69 to 0x68)

VDD → 3.3V
SCL → A5
SDA → A4

Please advice.

Thank you!

Please help.

You need to calibrate the magnetometer.

or better,