diff --git a/src/lib/FlightTasks/FlightTasks.cpp b/src/lib/FlightTasks/FlightTasks.cpp
index 9eb7134daf0b8480f2020b65a2f4f0b1bd6efb38..4c5ec5d8ea7261442d7549f57e563182a1fede93 100644
--- a/src/lib/FlightTasks/FlightTasks.cpp
+++ b/src/lib/FlightTasks/FlightTasks.cpp
@@ -133,7 +133,7 @@ const char *FlightTasks::errorToString(const int error)
 void FlightTasks::reActivate()
 {
 	if (_current_task.task) {
-		_current_task.task->activate();
+		_current_task.task->reActivate();
 	}
 }
 
diff --git a/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.cpp b/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.cpp
index cbfaa764315d5a2bcf6096c9f272266e4fedef66..026ef7155b3d3ae1818cb4f120dfedba31153bd2 100644
--- a/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.cpp
+++ b/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.cpp
@@ -52,6 +52,14 @@ bool FlightTaskAutoLineSmoothVel::activate()
 	return ret;
 }
 
+void FlightTaskAutoLineSmoothVel::reActivate()
+{
+	// Don't reset during takeoff TODO: Find a proper solution
+	// The issue here is that with a small increment of velocity setpoint (generated by this flight task), the
+	// land detector doesn't detect takeoff and without takeoff detection, the
+	// flight task is always reset.
+}
+
 void FlightTaskAutoLineSmoothVel::_setDefaultConstraints()
 {
 	FlightTaskAuto::_setDefaultConstraints();
diff --git a/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.hpp b/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.hpp
index 2e38cb38084be0084292e23b90dab9b48f52041b..bd88398c8c01983a4e37c414617b21a151d480d3 100644
--- a/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.hpp
+++ b/src/lib/FlightTasks/tasks/AutoLineSmoothVel/FlightTaskAutoLineSmoothVel.hpp
@@ -50,6 +50,7 @@ public:
 	virtual ~FlightTaskAutoLineSmoothVel() = default;
 
 	bool activate() override;
+	void reActivate() override;
 
 protected:
 
diff --git a/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp b/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp
index fa13927ad22cb8adf26f88ae2b28ce5bb5d6bc15..b314ae0b9507272f0375e0d1beed088a78cc3b53 100644
--- a/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp
+++ b/src/lib/FlightTasks/tasks/FlightTask/FlightTask.cpp
@@ -38,6 +38,11 @@ bool FlightTask::activate()
 	return true;
 }
 
+void FlightTask::reActivate()
+{
+	activate();
+}
+
 bool FlightTask::updateInitialize()
 {
 	_time_stamp_current = hrt_absolute_time();
diff --git a/src/lib/FlightTasks/tasks/FlightTask/FlightTask.hpp b/src/lib/FlightTasks/tasks/FlightTask/FlightTask.hpp
index 9501a45359c2b7cf5f0293723a904012b280493b..aa3e68951b6ccda9128beb2a84901e90d46ea038 100644
--- a/src/lib/FlightTasks/tasks/FlightTask/FlightTask.hpp
+++ b/src/lib/FlightTasks/tasks/FlightTask/FlightTask.hpp
@@ -78,6 +78,11 @@ public:
 	 */
 	virtual bool activate();
 
+	/**
+	 * Call this to reset an active Flight Task
+	 */
+	virtual void reActivate();
+
 	/**
 	 * To be called to adopt parameters from an arrived vehicle command
 	 * @return true if accepted, false if declined