keyLocation.LEFT / .RIGHT won't work on a Mac keyboard

I want to differentiate the LEFT SHIFT key on the keyboard from the RIGHT SHIFT key. The code below will do that on my PC Laptop but not on my Macbook Pro. Someone knows a workaround or the reason why?

Thanks!
-Marek
(PS: the code below is not from me)

package {
  import flash.display.*;
  import flash.events.*;
  import flash.ui.*;            

  public class RightShift extends Sprite {
    public static const A_KEY:int = 65;

    public function RightShift() {
		super()  
      stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownListener);
    }

    private function keyDownListener (event:KeyboardEvent):void {    
	
      if (event.keyCode == Keyboard.SHIFT) {    
	trace("is SHIFT");   //works on Mac and PCso far  
				
        if (event.keyLocation == KeyLocation.LEFT) {  
          trace("The left Shift key was pressed");   //works on PC but doesn't work on mac os x   
        } 
        else if (event.keyLocation == KeyLocation.RIGHT) { 
	  trace("The right Shift key was pressed");  //works on PC but doesn't work on mac os x 
        }
      }
    }
  }
}