diff --git a/gso/workflows/router/update_ibgp_mesh.py b/gso/workflows/router/update_ibgp_mesh.py
index 486bc42dc130d9139a7c368c397fc35145b9c472..efd4dd8370258b761a37d8437e16787b07e0a1a1 100644
--- a/gso/workflows/router/update_ibgp_mesh.py
+++ b/gso/workflows/router/update_ibgp_mesh.py
@@ -255,14 +255,14 @@ def update_ibgp_mesh() -> StepList:
         >> store_process_subscription(Target.MODIFY)
         >> unsync
         >> calculate_pe_router_list
-        # >> lso_interaction(add_p_to_mesh_dry)
-        # >> lso_interaction(add_p_to_mesh_real)
-        # >> lso_interaction(add_all_pe_to_p_dry)
-        # >> lso_interaction(add_all_pe_to_p_real)
-        # >> lso_interaction(check_ibgp_session)
+        >> lso_interaction(add_p_to_mesh_dry)
+        >> lso_interaction(add_p_to_mesh_real)
+        >> lso_interaction(add_all_pe_to_p_dry)
+        >> lso_interaction(add_all_pe_to_p_real)
+        >> lso_interaction(check_ibgp_session)
         >> add_device_to_librenms
-        # >> prompt_insert_in_radius
-        # >> prompt_radius_login
+        >> prompt_insert_in_radius
+        >> prompt_radius_login
         >> update_subscription_model
         >> resync
         >> done
diff --git a/test/workflows/router/test_update_ibgp_mesh.py b/test/workflows/router/test_update_ibgp_mesh.py
index 136a4a6196a5cf3cf124f79c481287138e22a50c..2aa0a7b78cc952d97bafac6956b40961bbe8e62a 100644
--- a/test/workflows/router/test_update_ibgp_mesh.py
+++ b/test/workflows/router/test_update_ibgp_mesh.py
@@ -21,7 +21,9 @@ from test.workflows import (
 @pytest.mark.workflow()
 @patch("gso.workflows.router.update_ibgp_mesh.lso_client.execute_playbook")
 @patch("gso.workflows.router.update_ibgp_mesh.librenms_client.LibreNMSClient.add_device")
+@patch("gso.workflows.router.update_ibgp_mesh.librenms_client.LibreNMSClient.device_exists")
 def test_update_ibgp_mesh_success(
+    mock_librenms_device_exists,
     mock_librenms_add_device,
     mock_execute_playbook,
     trunk_status,
@@ -29,6 +31,7 @@ def test_update_ibgp_mesh_success(
     data_config_filename,
     faker,
 ):
+    mock_librenms_device_exists.return_value = False
     ip_trunk = Iptrunk.from_subscription(iptrunk_subscription_factory(status=trunk_status))
     ibgp_mesh_input_form_data = {
         "subscription_id": ip_trunk.iptrunk.iptrunk_sides[0].iptrunk_side_node.owner_subscription_id