diff --git a/lib/Schema.js b/lib/Schema.js
index <HASH>..<HASH> 100644
--- a/lib/Schema.js
+++ b/lib/Schema.js
@@ -219,7 +219,7 @@ Schema.prototype.parseDynamo = async function (model, dynamoObj) {
         attrVal = await attr.parseDynamo(dynamoObj[name]);
       }
       if (attrVal !== undefined && attrVal !== null) {
-        model[name] = attrVal;
+        model[attr.name] = attrVal;
       }
     } else {
       debug('parseDynamo: received an attribute name (%s) that is not defined in the schema', name);
feat(schema): change the way attributes are set by parseDynamo function

This does not change parseDynamo result <I>% of the time, because `name` and `attr.name` are usually identical, but makes it possible to manually add hidden attributes to a schema by calling Attribute.create() with `name` set to Symbol(), which can be useful to plugin authors.