diff --git a/plugins/services_entity_resource.inc b/plugins/services_entity_resource.inc
index 0e39c11..9c67799 100644
--- a/plugins/services_entity_resource.inc
+++ b/plugins/services_entity_resource.inc
@@ -42,7 +42,7 @@ class ServicesEntityResourceController implements ServicesResourceControllerInte
       services_error('Error saving entity.', 406);
     }
 
-    return $id;
+    return $entity;
   }
 
   /**
@@ -62,7 +62,8 @@ class ServicesEntityResourceController implements ServicesResourceControllerInte
   public function update($entity_type, $entity_id, array $values) {
     $entity = entity_metadata_wrapper($entity_type, (object) $values);
     if ($entity_id == $entity->getIdentifier()) {
-      return $entity->save();
+      $entity->save();
+      return $entity;
     }
     else {
       services_error('Invalid Entity Identifier. You can only update the entity referenced in the URL.', 406);
diff --git a/plugins/services_entity_resource_clean.inc b/plugins/services_entity_resource_clean.inc
index 39746ba..5395d83 100644
--- a/plugins/services_entity_resource_clean.inc
+++ b/plugins/services_entity_resource_clean.inc
@@ -39,7 +39,7 @@ class ServicesEntityResourceControllerClean extends ServicesEntityResourceContro
       services_error('Unknown data properties: ' . implode(' ', array_keys($diff)) . '.', 406);
     }
     $wrapper->save();
-    return $wrapper->getIdentifier();
+    return $this->get_data(entity_metadata_wrapper($entity_type, $entity), '*');
   }
 
   public function retrieve($entity_type, $entity_id, $fields) {
@@ -59,7 +59,8 @@ class ServicesEntityResourceControllerClean extends ServicesEntityResourceContro
     catch (EntityMetadataWrapperException $e) {
       services_error($e->getMessage(), 406);
     }
-    return $wrapper->save();
+    $wrapper->save();
+    return $this->get_data(entity_metadata_wrapper($entity_type, $entity), '*');
   }
 
   public function index($entity_type, $fields, $parameters, $page, $pagesize, $sort, $direction) {
