diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java b/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java
index 1730c568459c9c40342a361f90fe3095acbd8532..4e866af7241241d22e7068eb706ff90b2e23e472 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/BeanUtils.java
@@ -709,7 +709,22 @@ public final class BeanUtils
         {
             return null;
         }
-        return getter.invoke(bean, ArrayUtils.EMPTY_OBJECT_ARRAY);
+        final boolean isAccessible = getter.isAccessible(); 
+        if (isAccessible == false)
+        {
+            getter.setAccessible(true);
+        }
+        try
+        {
+            final Object oldBean = getter.invoke(bean, ArrayUtils.EMPTY_OBJECT_ARRAY); 
+            return oldBean;
+        } finally
+        {
+            if (isAccessible == false)
+            {
+                getter.setAccessible(false);
+            }
+        }
     }
 
     private static Method getConverterMethod(Method setter, Object sourceBean, Converter converter)