diff --git a/backend/routes/users.js b/backend/routes/users.js
index 9d937d40fde532ad62afc9e209a963c73b5db3ee..58475b8f2603a2b3dbcfc8b6c231a0da226f7f5f 100644
--- a/backend/routes/users.js
+++ b/backend/routes/users.js
@@ -56,11 +56,17 @@ router.put("/unlike", async function (req, res) {
     const movieId = await req.body.movieId;
     const movieOid = await MovieModel.findOne({ id: movieId });
     const user = await UserModel.findById(userId);
-    const likedMovies = user.liked_movies.concat([movieOid._id]);
-    await UserModel.findByIdAndUpdate(userId, {
-      liked_movies: likedMovies,
-    });
-    res.send("Done");
+    const likedMovies = user.liked_movies;
+    const myIndex = likedMovies.indexOf(movieOid._id);
+    if (myIndex !== -1) {
+      likedMovies.splice(myIndex, 1);
+      await UserModel.findByIdAndUpdate(userId, {
+        liked_movies: likedMovies,
+      });
+      res.send("Done");
+    } else {
+      res.send("This movie wasn't liked");
+    }
   } catch (error) {
     console.log(error);
     res.send("Internal problem");