diff --git a/lib/rest-core/client/rest-graph.rb b/lib/rest-core/client/rest-graph.rb
index <HASH>..<HASH> 100644
--- a/lib/rest-core/client/rest-graph.rb
+++ b/lib/rest-core/client/rest-graph.rb
@@ -31,7 +31,8 @@ RestCore::Builder.client('RestGraph', :data, :app_id, :secret, :old_site) do
     run Ask
   end
 
-  use Defaults      , :data => {}, :old_site => 'https://api.facebook.com/'
+  use Defaults      , :data     => lambda{{}},
+                      :old_site => 'https://api.facebook.com/'
 
   run RestClient
 end
diff --git a/lib/rest-core/middleware/defaults.rb b/lib/rest-core/middleware/defaults.rb
index <HASH>..<HASH> 100644
--- a/lib/rest-core/middleware/defaults.rb
+++ b/lib/rest-core/middleware/defaults.rb
@@ -10,7 +10,11 @@ class RestCore::Defaults
     singleton_class.module_eval do
       defaults.each{ |(key, value)|
         define_method(key) do |env|
-          value
+          if value.respond_to?(:call)
+            value.call
+          else
+            value
+          end
         end
       }
     end
defaults: defaults shouldn't be modified! wrap it with lambda... :s