diff --git a/lib/knife_sous/dsl_wrapper.rb b/lib/knife_sous/dsl_wrapper.rb
index <HASH>..<HASH> 100644
--- a/lib/knife_sous/dsl_wrapper.rb
+++ b/lib/knife_sous/dsl_wrapper.rb
@@ -1,11 +1,7 @@
 module KnifeSous
   module DSLWrapper
     def evaluate_block(&block)
-      if block.arity == 1
-        block[self]
-      else
-        instance_eval(&block)
-      end
+      yield self if block_given?
     end
   end
 end
diff --git a/spec/support/shared_examples/dsl_wrapper.rb b/spec/support/shared_examples/dsl_wrapper.rb
index <HASH>..<HASH> 100644
--- a/spec/support/shared_examples/dsl_wrapper.rb
+++ b/spec/support/shared_examples/dsl_wrapper.rb
@@ -1,12 +1,5 @@
 shared_examples_for "dsl wrapper" do
   describe "#evaluate_block" do
-    it "should execute blocks in the class' context" do
-      test_block = Proc.new { foo 'bar'}
-      klass.stub(:foo)
-      klass.should_receive(:foo).with('bar')
-      klass.evaluate_block(&test_block)
-    end
-
     it "should support passing itself in as the context" do
       test_block = Proc.new { |i| i.foo 'bar'}
       klass.stub(:foo)
use yield vs instance_eval