diff --git a/meson.build b/meson.build
index ef39248..81d5028 100644
--- a/meson.build
+++ b/meson.build
@@ -54,7 +54,7 @@
 stdplus_dep = dependency('stdplus')
 systemd_dep = dependency('systemd')
 
-if(get_option('tests').enabled())
+if(get_option('tests').allowed())
     gmock_dep = dependency('gmock', disabler: true, required: false)
     gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
 
@@ -71,7 +71,7 @@
             gmock_dep = gtest_proj.dependency('gmock')
         else
             assert(
-                not get_option('tests').enabled(),
+                not get_option('tests').allowed(),
                 'Googletest is required if tests are enabled'
             )
         endif
@@ -101,7 +101,7 @@
 
 # Fan control can be in YAML mode when everything else is in JSON mode
 control_conf_type = 'yaml'
-if get_option('json-config').enabled() and get_option('json-control').enabled()
+if get_option('json-config').allowed() and get_option('json-control').allowed()
     control_conf_type = 'json'
 endif
 
@@ -111,12 +111,12 @@
 conf.set_quoted(
     'FAN_MONITOR_YAML_FILE', get_option('fan-monitor-yaml-file'))
 conf.set('DELAY_HOST_CONTROL', get_option('delay-host-control'))
-if get_option('monitor-use-host-state').enabled()
+if get_option('monitor-use-host-state').allowed()
     conf.set('MONITOR_USE_HOST_STATE', '')
 endif
 
 # JSON-or-YAML (all programs)
-if get_option('json-config').enabled()
+if get_option('json-config').allowed()
     conf.set('PRESENCE_USE_JSON', '')
     if control_conf_type == 'json'
         conf.set('CONTROL_USE_JSON', '')
@@ -132,7 +132,7 @@
 conf.set_quoted('SENSOR_MONITOR_PERSIST_ROOT_PATH',
                 get_option('sensor-monitor-persist-root-path'))
 
-if get_option('use-host-power-state').enabled()
+if get_option('use-host-power-state').allowed()
     conf.set('ENABLE_HOST_STATE', '')
 endif
 
@@ -152,7 +152,7 @@
 # Service: [name,[svcfiles]]
 services = []
 
-if get_option('control-service').enabled()
+if get_option('control-service').allowed()
     subdir('control')
     service_files = ['phosphor-fan-control@.service']
     if control_conf_type == 'yaml'
@@ -161,27 +161,27 @@
     services += [['control', service_files]]
 endif
 
-if get_option('monitor-service').enabled()
+if get_option('monitor-service').allowed()
     subdir('monitor')
     service_files = ['phosphor-fan-monitor@.service']
-    if not get_option('json-config').enabled()
+    if not get_option('json-config').allowed()
         service_files += 'phosphor-fan-monitor-init@.service'
     endif
     services += [['monitor', service_files]]
 endif
 
-if get_option('cooling-type-service').enabled()
+if get_option('cooling-type-service').allowed()
     libevdev_dep = dependency('libevdev')
     subdir('cooling-type')
 endif
 
-if get_option('presence-service').enabled()
+if get_option('presence-service').allowed()
     libevdev_dep = dependency('libevdev')
     subdir('presence')
     services += [['presence', ['phosphor-fan-presence-tach@.service']]]
 endif
 
-if get_option('sensor-monitor-service').enabled()
+if get_option('sensor-monitor-service').allowed()
     subdir('sensor-monitor')
     install_data('sensor-monitor/service_files/sensor-monitor.service',
         install_dir: servicedir)
diff --git a/monitor/meson.build b/monitor/meson.build
index 1fa26b8..7ceed5b 100644
--- a/monitor/meson.build
+++ b/monitor/meson.build
@@ -52,7 +52,7 @@
     install: true
 )
 
-if(get_option('tests').enabled())
+if(get_option('tests').allowed())
     subdir('test')
 endif
 
