diff --git a/src/main/java/org/primefaces/component/datatable/feature/FilterFeature.java b/src/main/java/org/primefaces/component/datatable/feature/FilterFeature.java
index <HASH>..<HASH> 100644
--- a/src/main/java/org/primefaces/component/datatable/feature/FilterFeature.java
+++ b/src/main/java/org/primefaces/component/datatable/feature/FilterFeature.java
@@ -213,12 +213,18 @@ public class FilterFeature implements DataTableFeature {
         }
         else {
             UIColumn column = filterBy.getColumn();
+            UIComponent filterFacet = column.getFacet("filter");
+            boolean hasCustomFilter = ComponentUtils.shouldRenderFacet(filterFacet);
             if (column instanceof DynamicColumn) {
-                ((DynamicColumn) column).applyStatelessModel();
+                if (hasCustomFilter) {
+                    ((DynamicColumn) column).applyModel();
+                }
+                else {
+                    ((DynamicColumn) column).applyStatelessModel();
+                }
             }
 
-            UIComponent filterFacet = column.getFacet("filter");
-            if (ComponentUtils.shouldRenderFacet(filterFacet)) {
+            if (hasCustomFilter) {
                 filterValue = ((ValueHolder) filterFacet).getLocalValue();
             }
             else {
Fix #<I> - Datatable: filter facet does not work with p:columns