handle `invertAutoEnable correctly, respect `noAutoEnable