diff --git a/include/aidge/graph/Node.hpp b/include/aidge/graph/Node.hpp
index 9841555e88b63cef9c7f8fe7554ed42cfe5b87ed..82411aab1855b2a0123645c538174ff0693ffe15 100644
--- a/include/aidge/graph/Node.hpp
+++ b/include/aidge/graph/Node.hpp
@@ -249,7 +249,7 @@ public:
   inline IOIndex_t getFirstFreeDataInput() const {
     IOIndex_t i = 0;
     for (; i < nbInputs(); ++i) {
-      if ((inputCategory(i) == InputCategory::Data || inputCategory(i) == InputCategory::OptionalData)
+      if (to_underlying(inputCategory(i) & InputCategory::Data))
         && input(i).second == gk_IODefaultIndex)
       {
         return i;