 				if(isNaN(fieldIdx) || fieldIdx < 0){
 					for(var index:int = 0; index < attr.fields.length; index ++) {
 						field = attr.fields[index];
-						if(field.value == null && field.symbol == null) {
+						if ( applyToNonEmptyNodes || (field.value == null && field.symbol == null)) {
 							operation = new UpdateRequestOperation();
 							operation.method = UpdateRequestOperation$Method.UPDATE;
 							operation.parentEntityId = nodeProxy.parentId;

							operation.nodeId = nodeProxy.id;
							operation.fieldIndex = index;
							operation.remarks = field.remarks;
							operation.value = field.value != null ? field.value.toString(): null;
							operation.symbol = symbol;
							
							updateRequest.addOperation(operation);
						}
					}
				} else {
					field = attr.fields[fieldIdx];
					if(field.value == null && field.symbol == null) {
						operation = new UpdateRequestOperation();
						operation.method = UpdateRequestOperation$Method.UPDATE;
						operation.parentEntityId = nodeProxy.parentId;

		
		protected static function updateSymbolHandler(event:NodeEvent): void {
			var updRequest:UpdateRequest = new UpdateRequest();
			prepareUpdateSymbolRequests(updRequest, event.nodeProxy, event.symbol, event.fieldIdx, event.applyToNonEmptyNodes);
			_dataClient.updateActiveRecord(updRequest, null, faultHandler);
		}
		
		protected static function prepareUpdateSymbolRequests(updateRequest:UpdateRequest, nodeProxy:NodeProxy, symbol:FieldSymbol, fieldIdx:Number, applyToNonEmptyNodes:Boolean = false):void {
			if( nodeProxy is EntityProxy ){
				var entity:EntityProxy = nodeProxy as EntityProxy;
				var children:IList = entity.getChildren();
