diff --git a/includes/registration.entity.inc b/includes/registration.entity.inc
index d8f971d..6fee61a 100644
--- a/includes/registration.entity.inc
+++ b/includes/registration.entity.inc
@@ -249,13 +249,17 @@ function registration_delete_multiple($registration_ids) {
 /**
  * Saves a registration.
  *
+ * Note that the registration object will be passed in by reference
+ * and will have additional information available after the save is successful 
+ * as added by entity_get_controller->save() (including the registration_id).
+ * 
  * @param $registration
  *   The full registration object to save.
  *
  * @return
- *   The saved registration object.
+ *   True on successful save. False on failure.
  */
-function registration_save($registration) {
+function registration_save(&$registration) {
   $registration->updated = REQUEST_TIME;
   // Set the creation timestamp if not set.
   if (!isset($registration->created) || empty($registration->created)) {
@@ -265,7 +269,7 @@ function registration_save($registration) {
   $ret = entity_get_controller('registration')->save($registration);
 
   // Let other modules act on a registration save
-  module_invoke_all('registration_save', $ret);
+  module_invoke_all('registration_save', $registration);
 
   return $ret;
 }
