diff --git a/src/iec61850/server/model/model.c b/src/iec61850/server/model/model.c index 89e3512..ac65902 100644 --- a/src/iec61850/server/model/model.c +++ b/src/iec61850/server/model/model.c @@ -491,8 +491,20 @@ ModelNode_getChildWithFc(ModelNode* self, const char* name, FunctionalConstraint } } else { - matchingNode = nextNode; - break; + + if (nextNode->modelType == DataAttributeModelType) { + DataAttribute* da = (DataAttribute*) nextNode; + + if (da->fc == fc) { + matchingNode = nextNode; + break; + } + } + else { + matchingNode = nextNode; + break; + } + } } }