diff --git a/src/backend/src/controllers/notations.ts b/src/backend/src/controllers/notations.ts
index 1bb7687cefa1f718ef53d2f4a859e8f6ca277d10..ec1e903aefe0026991c8451c215651a85b9aa7b6 100644
--- a/src/backend/src/controllers/notations.ts
+++ b/src/backend/src/controllers/notations.ts
@@ -87,12 +87,18 @@ exports.createEvaluation = (req: express.Request, res: express.Response, _: expr
     if (!validator.typeInteger(travelId, true, req, res, 'travelId')) return;
     if (!validator.typeInteger(evaluatedId, true, req, res, 'evaluatedId')) return;
 
-    prisma.travel.count({ where: { id: travelId } })
-        .then((count) => {
-            if (count === 0) {
+    prisma.travel.findUnique({ where: { id: travelId } })
+        .then((travel) => {
+            if (travel === null) {
                 sendMsg(req, res, error.travel.notFound);
                 return;
             }
+
+            if (travel.status !== properties.travel.status.ended) {
+                sendMsg(req, res, error.travel.notEnded);
+                return;
+            }
+
             prisma.user.count({ where: { id: evaluatedId } })
                 .then((count) => {
                     if (count === 0) {
diff --git a/src/backend/src/tools/translator.ts b/src/backend/src/tools/translator.ts
index 4a13fa626322ad4b110d6c2918ce005b06d4bd5c..daa6d437cd0504ad2cb0cef683116681c0ff5193 100644
--- a/src/backend/src/tools/translator.ts
+++ b/src/backend/src/tools/translator.ts
@@ -607,6 +607,13 @@ const error = {
                 en: 'The type of travel searched is invalid.'
             },
             code: 400
+        }),
+        notEnded: (req: Request) => msgForLang<TemplateMessageHTTP, MessageHTTP>(req, {
+            msg: {
+                fr: 'Ce trajet n\'est pas terminé.',
+                en: 'This travel is not finished.'
+            },
+            code: 400
         })
     },
     booking: {