diff --git a/manifests/satellite.pp b/manifests/satellite.pp
index 93462a129293db95c3eab17ddce721ab00373bc8..16cc4e1d3774898479a8a03d4b6dfb31da93ad5e 100644
--- a/manifests/satellite.pp
+++ b/manifests/satellite.pp
@@ -23,15 +23,11 @@
 #
 class postfix::satellite {
 
-  # If $valid_fqdn exists, use it to override $fqdn
-  case $valid_fqdn {
-    '':      { $valid_fqdn = $::fqdn }
-    default: { $fqdn = $valid_fqdn }
-  }
+  validate_re($postfix::myorigin, '^\S+$')
 
-  include postfix::mta
+  include ::postfix::mta
 
-  postfix::virtual { "@${valid_fqdn}":
+  postfix::virtual { "@${postfix::myorigin}":
     ensure      => present,
     destination => 'root',
   }
diff --git a/spec/classes/postfix_satellite_spec.rb b/spec/classes/postfix_satellite_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..1777afd6643b41bbd99ca7bb5cf4695cb4a57ade
--- /dev/null
+++ b/spec/classes/postfix_satellite_spec.rb
@@ -0,0 +1,13 @@
+require 'spec_helper'
+
+describe 'postfix::satellite' do
+  let (:facts) { {
+    :osfamily            => 'Debian',
+    :needs_postfix_class => true,
+  } }
+  it { should include_class('postfix::mta') }
+  it { should contain_postfix__virtual('@foo.example.com').with(
+    :ensure      => 'present',
+    :destination => 'root'
+  ) }
+end
diff --git a/spec/fixtures/manifests/site.pp b/spec/fixtures/manifests/site.pp
index 2786af2e59513d87c6f09439c392c6b0cd3baabe..cbff7d8aad49276e1814f40dc84dbb1492762b81 100644
--- a/spec/fixtures/manifests/site.pp
+++ b/spec/fixtures/manifests/site.pp
@@ -1,3 +1,5 @@
-node default {
-  include ::augeas
+include ::augeas
+
+if $::needs_postfix_class {
+  include ::postfix
 }