Sometimes this can be due to the System Management Controller. Try resetting the SMC and see if that helps