diff --git a/lib/dm-core/resource.rb b/lib/dm-core/resource.rb
index <HASH>..<HASH> 100644
--- a/lib/dm-core/resource.rb
+++ b/lib/dm-core/resource.rb
@@ -299,9 +299,11 @@ module DataMapper
     #   true if resource and storage state match
     #
     # @api public
-    def update(attributes = {})
-      self.attributes = attributes
-      _update
+    chainable do
+      def update(attributes = {})
+        self.attributes = attributes
+        _update
+      end
     end
 
     ##
@@ -379,8 +381,10 @@ module DataMapper
     #   true if resource was destroyed
     #
     # @api public
-    def destroy
-      _destroy
+    chainable do
+      def destroy
+        _destroy
+      end
     end
 
     ##
Wrap Resource#update in a chainable block to allow overriding in modules