COMMAND QUEUE weird behaviour


sometimes i get CL_INVALID_COMMAND_QUEUE error but sometimes i don’t(with same data ) and everything is all right? what is wrong?? is it relative to opencl framwork or relative to os(macos x) or it realative to my program or what?

because i have two graphics card ( nvidia gforce 9600 & nvidia force 9400 )
when i build a command queue relative to gforce 9600 i get result of my code but when i
build command queue relative to gforce 9400 i get error -36 ( invalid command queue)??
my code also work with cpu correctly?
what is going on??

i’m using mac os x lion
i recently find a program(gtxcardstatus) that enable me to switch between graphics card, by default my graphic card is on dforce 9400 but i could change it on force9600 and my program
works on 9600 card but still doesn’t work on 9400 (error-36 invalid cammand queue)??
any idea??