 		// setup object properties in the this scope
 		if (IsQuery(arguments.properties) && arguments.properties.recordCount != 0)
 		{
-			loc.iEnd = ListLen(arguments.properties.columnList);
+			loc.allProperties = ListAppend(variables.wheels.class.propertyList, variables.wheels.class.calculatedPropertyList);
+			loc.iEnd = ListLen(loc.allProperties);
 			for (loc.i=1; loc.i <= loc.iEnd; loc.i++)
 			{
-				this[ListGetAt(arguments.properties.columnList, loc.i)] = arguments.properties[ListGetAt(arguments.properties.columnList, loc.i)][arguments.row];
+				loc.iItem = ListGetAt(loc.allProperties, loc.i);
+				if (ListFindNoCase(arguments.properties.columnList, arguments.name & loc.iItem))
+					this[loc.iItem] = arguments.properties[arguments.name & loc.iItem][arguments.row];
+				else if (ListFindNoCase(arguments.properties.columnList, loc.iItem))
+					this[loc.iItem] = arguments.properties[loc.iItem][arguments.row];
 			}
 		}
 		else if (IsStruct(arguments.properties) && !StructIsEmpty(arguments.properties))

			else if (arguments.returnAs == "objects")
			{
				loc.returnValue = [];
				loc.iEnd = loc.findAll.query.recordCount;
				for (loc.i=1; loc.i <= loc.iEnd; loc.i++)
					ArrayAppend(loc.returnValue, $createInstance(properties=loc.findAll.query, persisted=true, row=loc.i));
			}
		}
	</cfscript>

	<cfscript>
		var loc = {};

		// we only allow one association to be loaded when returning objects
		if (application.wheels.environment != "production" && arguments.returnAs == "objects" && (Find(",", arguments.include) || Find("(", arguments.include)))
			$throw(type="Wheels", message="Incorrect Arguments", extendedInfo="You cannot include more than one association when returning an array of objects.");

		// count records and get primary keys for pagination
		if (arguments.page)
