diff --git a/arm_compute/core/Types.h b/arm_compute/core/Types.h
index 5a08ac9..3affe7e 100644
--- a/arm_compute/core/Types.h
+++ b/arm_compute/core/Types.h
@@ -713,6 +713,7 @@
         LINEAR           /**< Linear ( \f$ f(x)= ax + b \f$ ) */
     };
 
+    ActivationLayerInfo() = default;
     /** Default Constructor
      *
      * @param[in] f The activation function to use.
@@ -721,7 +722,7 @@
      * @param[in] b (Optional) The beta parameter used by some activation functions (@ref ActivationFunction::LINEAR, @ref ActivationFunction::LU_BOUNDED_RELU, @ref ActivationFunction::TANH).
      */
     ActivationLayerInfo(ActivationFunction f, float a = 0.0f, float b = 0.0f)
-        : _act(f), _a(a), _b(b)
+        : _act(f), _a(a), _b(b), _enabled(true)
     {
     }
     ActivationFunction activation() const
@@ -736,11 +737,16 @@
     {
         return _b;
     }
+    bool enabled() const
+    {
+        return _enabled;
+    }
 
 private:
-    ActivationFunction _act;
-    float              _a;
-    float              _b;
+    ActivationFunction _act     = { ActivationLayerInfo::ActivationFunction::LOGISTIC };
+    float              _a       = {};
+    float              _b       = {};
+    bool               _enabled = { false };
 };
 
 /** Normalization Layer Information class */
