 				case APPROVE_MISSING_IN_ROW:
 					nodeEvent = new NodeEvent(NodeEvent.APPROVE_MISSING);
 					nodeEvent.nodeProxy = parentEntity;
+					nodeEvent.applyToNonEmptyNodes = false;
 					break;
 			}
 			

					nodeEvent = new NodeEvent(NodeEvent.UPDATE_SYMBOL);
					nodeEvent.symbol = FieldSymbol.DASH_ON_FORM;
					nodeEvent.nodeProxy = parentEntity;
					break;
				case SET_STAR_IN_ROW:
					nodeEvent = new NodeEvent(NodeEvent.UPDATE_SYMBOL);
					nodeEvent.symbol = FieldSymbol.BLANK_ON_FORM;
					nodeEvent.nodeProxy = parentEntity;
					break;
				case DELETE_ATTRIBUTE:
					if(checkCanDelete(attribute, attrDefn)) {

		
		private function createMenuItems(step:CollectRecord$Step):Array {
			var items:Array = new Array();

			switch(step) {
				case CollectRecord$Step.ENTRY:
					// REASON BLANK ITEMS
					if(_inputField.isEmpty() || InputFieldPresenter.isShortCutForReasonBlank(_inputField.text)) {
						items.push( SET_STAR, SET_DASH, SET_ILLEGIBLE );
					}
					// CONFIRM ERROR ITEM
					if( ! _inputField.isEmpty()) {
						var hasErrors:Boolean = _inputField.parentEntity.childContainsErrors(_inputField.attributeDefinition.name);
						if(hasErrors) {
							var hasConfirmedError:Boolean = _inputField.parentEntity.hasConfirmedError(_inputField.attributeDefinition.name);
							if(! hasConfirmedError) {
								items.push(CONFIRM_ERROR);
							}
						}
					}
					break;
				case CollectRecord$Step.CLEANSING:
					// APPROVE MISSING VALUE ITEM
					if(_inputField.isEmpty() || InputFieldPresenter.isShortCutForReasonBlank(_inputField.text)) {
						items.push(APPROVE_MISSING);
					}
					break;
			}
			//REMARKS
			items.push(EDIT_REMARKS_MENU_ITEM);
			
			if(step != CollectRecord$Step.ANALYSIS) {
