diff --git a/lib/puppet/provider/package/xbps.rb b/lib/puppet/provider/package/xbps.rb
index a231e061f9b2135cb177db0b35e424af958fba10..1519ee348f101f67078adb72ec0a1c8c7d87fc80 100644
--- a/lib/puppet/provider/package/xbps.rb
+++ b/lib/puppet/provider/package/xbps.rb
@@ -3,8 +3,8 @@ require 'puppet/provider/package'
 Puppet::Type.type(:package).provide :xbps, :parent => Puppet::Provider::Package do
   desc "A xbps provider for Void Linux."
 
-  confine :true => (Facter.value(:os)['distro']['id'] == 'VoidLinux')
-  defaultfor :true => (Facter.value(:os)['distro']['id'] == 'VoidLinux')
+  confine :true => (Facter.value(:os).dig('distro', 'id') == 'VoidLinux')
+  defaultfor :true => (Facter.value(:os).dig('distro', 'id') == 'VoidLinux')
 
   commands :xbps_install => "/usr/bin/xbps-install"
   commands :xbps_query   => "/usr/bin/xbps-query"