Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array_impl.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array_impl.hpp	(revision 2304)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_array_impl.hpp	(revision 2305)
@@ -113,10 +113,7 @@
     bool CAttributeArray<T_numtype,N_rank>::isEqual_(const CAttributeArray& attr)
     {
-      if ((!this->hasInheritedValue() && !attr.hasInheritedValue()))
-          return true;
-      if (this->hasInheritedValue() && attr.hasInheritedValue())
-          return (this->getInheritedValue() == attr.getInheritedValue());
-      else 
-        return false;      
+      if (this->isEmpty() && attr.isEmpty()) return true ;
+      if (!this->isEmpty() && !attr.isEmpty())  return (this->getValue() == attr.getValue());
+      else return false;  
     }
 
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_enum_impl.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_enum_impl.hpp	(revision 2304)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_enum_impl.hpp	(revision 2305)
@@ -121,10 +121,7 @@
   bool CAttributeEnum<T>::isEqual_(const CAttributeEnum& attr)
   {
-    if ((!this->hasInheritedValue() && !attr.hasInheritedValue()))
-        return true;
-    if (this->hasInheritedValue() && attr.hasInheritedValue())
-        return (this->getInheritedValue() == attr.getInheritedValue());
-    else 
-      return false;    
+    if (this->isEmpty() && attr.isEmpty()) return true ;
+    if (!this->isEmpty() && !attr.isEmpty())  return (this->getValue() == attr.getValue());
+    else return false;
   }
 
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_template_impl.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_template_impl.hpp	(revision 2304)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/attribute_template_impl.hpp	(revision 2305)
@@ -165,10 +165,7 @@
     bool CAttributeTemplate<T>::isEqual_(const CAttributeTemplate& attr)
     {
-      if ((!this->hasInheritedValue() && !attr.hasInheritedValue()))
-          return true;
-      if (this->hasInheritedValue() && attr.hasInheritedValue())
-          return (this->getInheritedValue() == attr.getInheritedValue());
-      else 
-        return false;
+      if (this->isEmpty() && attr.isEmpty()) return true ;
+      if (!this->isEmpty() && !attr.isEmpty())  return (this->getValue() == attr.getValue());
+      else return false;
     }
 
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/declare_ref_func.hpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/declare_ref_func.hpp	(revision 2304)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/declare_ref_func.hpp	(revision 2305)
@@ -50,5 +50,5 @@
     refObjects.push_back(refer_ptr);                                   \
     SuperClassAttribute::setAttributes(refer_ptr, apply);              \
-    setInheritedId(refer_ptr) ;                                        \
+    if (apply) setInheritedId(refer_ptr) ;                                        \
   }                                                                    \
 }                                                                      \
Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp	(revision 2304)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp	(revision 2305)
@@ -1810,5 +1810,5 @@
       CDomain* pDom = CDomain::get(domainId);
       pDom->solveRefInheritance(apply);
-      pDom->solveInheritanceTransformation();
+      if (apply) pDom->solveInheritanceTransformation();
     }
 
@@ -1818,5 +1818,5 @@
       CAxis* pAxis = CAxis::get(axisId);
       pAxis->solveRefInheritance(apply);
-      pAxis->solveInheritanceTransformation();
+      if (apply) pAxis->solveInheritanceTransformation();
     }
 
@@ -1826,5 +1826,5 @@
       CScalar* pScalar = CScalar::get(scalarId);
       pScalar->solveRefInheritance(apply);
-      pScalar->solveInheritanceTransformation();
+      if (apply) pScalar->solveInheritanceTransformation();
     }
   }
