Index: src/main/java/org/displaytag/decorator/TableDecorator.java
===================================================================
--- src/main/java/org/displaytag/decorator/TableDecorator.java	(revision 1164)
+++ src/main/java/org/displaytag/decorator/TableDecorator.java	(working copy)
@@ -179,7 +179,7 @@
      * @param propertyName property to lookup in current row object. Can also be a nested or indexed property.
      * @since 1.1
      */
-    protected Object evaluate(String propertyName)
+    public Object evaluate(String propertyName)
     {
         try
         {
Index: src/main/java/org/displaytag/model/Column.java
===================================================================
--- src/main/java/org/displaytag/model/Column.java	(revision 1164)
+++ src/main/java/org/displaytag/model/Column.java	(working copy)
@@ -110,13 +110,17 @@
 
             // if a decorator has been set, and if decorator has a getter for the requested property only, check
             // decorator
-            if (decorated
-                && this.row.getParentTable().getTableDecorator() != null
-                && this.row.getParentTable().getTableDecorator().hasGetterFor(this.header.getBeanPropertyName()))
+            if (decorated && this.row.getParentTable().getTableDecorator() != null)
             {
-
-                object = LookupUtil.getBeanProperty(this.row.getParentTable().getTableDecorator(), this.header
-                    .getBeanPropertyName());
+            	if (this.row.getParentTable().getTableDecorator().hasGetterFor(this.header.getBeanPropertyName()))
+            	{
+            		object = LookupUtil.getBeanProperty(this.row.getParentTable().getTableDecorator(), this.header
+            				.getBeanPropertyName());
+            	}
+            	else
+            	{
+            		object = this.row.getParentTable().getTableDecorator().evaluate(this.header.getBeanPropertyName());
+            	}
             }
             else
             {
