 					if (!IsStruct(this[arguments.property][loc.i]) && !this[arguments.property][loc.i])
 					{
 						ArrayDeleteAt(this[arguments.property], loc.i);
+						loc.i--;
 					}
 					else
 					{

				$invoke(componentReference=loc.model, method="deleteByKey", invokeArgs=loc.arguments);
				return false;
			}
		}	
	</cfscript>
	<cfreturn loc.object />
</cffunction>

			if (loc.associations[loc.association].nested.allow && loc.associations[loc.association].nested.autoSave && StructKeyExists(this, loc.association))
			{
				loc.array = this[loc.association];

				if (IsObject(this[loc.association]))
					loc.array = [ this[loc.association] ];

				if (IsArray(loc.array))
					for (loc.i = 1; loc.i lte ArrayLen(loc.array); loc.i++)
						$invoke(componentReference=loc.array[loc.i], method="valid");
