diff --git a/projet/src/client/client.py b/projet/src/client/client.py
index 26720dd913b726ec12465bb6ccf569b8e5442f4c..71de5900b8bd892f24b5f7a59afc784dac75a0ca 100644
--- a/projet/src/client/client.py
+++ b/projet/src/client/client.py
@@ -22,11 +22,18 @@ class Client:
 			logger.error("Cannot mark task {} as failed as it does not exist in the DB.".format(message["task_id"]))
 			return False
 
-		failed = FailedTask(item.module_id, 3, str(message['error']))
-		session.add(failed)
-		session.delete(item)
+		if item.tries < 3:
+			item.tries += 1
+			session.add(item)
+			logger.info("Incremented failure counter for task {}".format(item.id))
+		else:
+			failed = FailedTask(item.module_id, 3, str(message['error']))
+			session.add(failed)
+			session.delete(item)
+			logger.warning("Deleted task {}.".format(item.id))
+
 		session.commit()
-		logger.warning("Deleted task {}.".format(item.id))
+
 
 	def mark_as_done(self, session, message):
 		item = session.query(Task).filter_by(id=message["task_id"]).first()