diff --git a/lib/puppet/type/cron.rb b/lib/puppet/type/cron.rb
index <HASH>..<HASH> 100644
--- a/lib/puppet/type/cron.rb
+++ b/lib/puppet/type/cron.rb
@@ -427,7 +427,6 @@ Puppet::Type.newtype(:cron) do
     unless ret
       case name
       when :command
-        devfail "No command, somehow" unless @parameters[:ensure].value == :absent
       when :special
         # nothing
       else
diff --git a/spec/unit/provider/cron/parsed_spec.rb b/spec/unit/provider/cron/parsed_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/unit/provider/cron/parsed_spec.rb
+++ b/spec/unit/provider/cron/parsed_spec.rb
@@ -31,6 +31,14 @@ describe Puppet::Type.type(:cron).provider(:crontab) do
     )
   end
 
+  let :resource_sparse do
+    Puppet::Type.type(:cron).new(
+      :minute => %w{42},
+      :target => 'root',
+      :name   => 'sparse'
+    )
+  end
+
   let :record_special do
     {
       :record_type => :crontab,
@@ -321,5 +329,12 @@ describe Puppet::Type.type(:cron).provider(:crontab) do
         end
       end
     end
+
+    describe "with a resource without a command" do
+      it "should not raise an error" do
+        expect { described_class.match(record,{resource_sparse[:name] => resource_sparse}) }.to_not raise_error
+      end
+    end
+
   end
 end
(PUP-<I>) allow managing existing cronjobs without caring for command

When the catalog contains a cron resource that does not specify a value
for the command property, the transaction would fail with the cryptic
error message 'no command, somehow' under certain conditions.

This error is spurious. Generally, it's quite allowable to manage a subset
of cron properties that does not include the command. Fixed by removing
the devfail invocation. The command property is now handled just like
the 'special' property.