Check to see if the definition expression applied is the same or not. If it is same then set the definition expression on the layer to an empty string and then apply the new expression. Code below: string tempFilter = ""; tempFilter = ((IFeatureLayerDefinition)cachedGraphicFeatureLayer.FeatureLayer).DefinitionExpression; if (tempFilter.Trim() == filter.Trim()) { ((IFeatureLayerDefinition)cachedGraphicFeatureLayer.FeatureLayer).DefinitionExpression = string.Empty; ((IFeatureLayerDefinition)cachedGraphicFeatureLayer.FeatureLayer).DefinitionExpression = filter.Trim(); } else { ((IFeatureLayerDefinition)cachedGraphicFeatureLayer.FeatureLayer).DefinitionExpression = filter.Trim(); }