diff --git a/src/scheme/HyperplasticSolver.cpp b/src/scheme/HyperplasticSolver.cpp
index a0d47d8a26968f111fb99023fdaab8222352a9db..e56c12c39af0ebab56321d4328d797bea78830b4 100644
--- a/src/scheme/HyperplasticSolver.cpp
+++ b/src/scheme/HyperplasticSolver.cpp
@@ -190,8 +190,12 @@ class HyperplasticSolverHandler::HyperplasticSolver final : public HyperplasticS
   {
     const R3x3 Id      = identity;
     const R3x3 Sbar    = S - 1. / 3 * trace(S) * Id;
-    const double normS = 0;
-    return normS;
+    double chi         = 0;
+    const double normS = frobeniusNorm(Sbar);
+    if ((normS - std::sqrt(2. / 3) * yield) > 0.) {
+      chi = 1;
+    }
+    return chi;
   }
 
   NodeValuePerCell<const Rdxd>