diff --git a/manifests/init.pp b/manifests/init.pp
index 2f47c43b698a4c6ef623ba70f964869e8a097d48..318d5205a5f161c6fea352825def0aa80ba856a0 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -13,9 +13,7 @@ class freeradius (
   $preserve_mods   = true,
 ) inherits freeradius::params {
 
-  if ($freeradius::fr_version != 3) {
-    fail('This module is only compatible with FreeRADIUS 3')
-  }
+  validate_re($freeradius::fr_version, '^3', 'This module is only compatible with FreeRADIUS 3')
 
   if $control_socket == true {
     warning('Use of the control_socket parameter in the freeradius class is deprecated. Please use the freeradius::control_socket class instead.')
diff --git a/manifests/params.pp b/manifests/params.pp
index 41f6f681ba05ad6d19c46ad4a9bad2d68501d686..ffe0280a8073c2e150b153562d8a81cdc9f0d7b7 100644
--- a/manifests/params.pp
+++ b/manifests/params.pp
@@ -39,7 +39,7 @@ class freeradius::params {
   }
 
   # Use the FR version fact if defined, otherwise use our best estimate from above
-  if $::freeradius_maj_version {
+  if getvar('::freeradius_maj_version') {
     $fr_version = $::freeradius_maj_version
   } else {
     $fr_version = $fr_guessversion