diff --git a/gso/workflows/l3_core_service/geant_ip/validate_prefix_list.py b/gso/workflows/l3_core_service/geant_ip/validate_prefix_list.py
index c532d56d1964ef9f6b85b69f4015f2e82243ce19..5f259b576889bbfcb801d7b77dce71413426a9d1 100644
--- a/gso/workflows/l3_core_service/geant_ip/validate_prefix_list.py
+++ b/gso/workflows/l3_core_service/geant_ip/validate_prefix_list.py
@@ -21,6 +21,7 @@ from gso.workflows.l3_core_service.base_validate_prefix_list import (
 )
 def validate_geant_ip_prefix_list() -> StepList:
     """Validate prefix-lists for an existing GÉANT IP subscription."""
+    fqdn_list_is_empty = conditional(lambda state: state["ap_fqdn_list"] == [])
     prefix_list_has_drifted = conditional(lambda state: bool(state["prefix_list_drift"]))
 
     redeploy_prefix_list_steps = (
@@ -37,4 +38,11 @@ def validate_geant_ip_prefix_list() -> StepList:
         >> prefix_list_has_drifted(redeploy_prefix_list_steps)
     )
 
-    return begin >> store_process_subscription(Target.SYSTEM) >> build_fqdn_list >> prefix_list_validation_steps >> done
+    return (
+        begin
+        >> store_process_subscription(Target.SYSTEM)
+        >> build_fqdn_list
+        >> fqdn_list_is_empty(done)
+        >> prefix_list_validation_steps
+        >> done
+    )
diff --git a/gso/workflows/l3_core_service/validate_prefix_list.py b/gso/workflows/l3_core_service/validate_prefix_list.py
index f9e580b1c1063766cc500b6723b1c14ef975d840..9c9b6cd4321e07d78ce98524487d880f8b1cfb54 100644
--- a/gso/workflows/l3_core_service/validate_prefix_list.py
+++ b/gso/workflows/l3_core_service/validate_prefix_list.py
@@ -1,4 +1,3 @@
-
 """Prefix Validation workflow for L3 Core Service subscription objects."""
 
 from typing import Any
@@ -139,4 +138,4 @@ def validate_prefix_list() -> StepList:
         >> fqdn_list_is_empty(done)
         >> prefix_list_should_be_validated(prefix_list_validation_steps)
         >> done
-    )
\ No newline at end of file
+    )
diff --git a/test/workflows/l3_core_service/test_validate_prefix_list.py b/test/workflows/l3_core_service/test_validate_prefix_list.py
index e3a6bd8bbb5988c23ff8258e1698061606158797..a2baecb6839c73125d52da4eda76ac84f9c4e389 100644
--- a/test/workflows/l3_core_service/test_validate_prefix_list.py
+++ b/test/workflows/l3_core_service/test_validate_prefix_list.py
@@ -3,7 +3,7 @@ from unittest.mock import patch
 import pytest
 
 from gso.products.product_types.geant_ip import GeantIP
-from gso.utils.shared_enums import Vendor
+from gso.utils.shared_enums import APType, Vendor
 from test import USER_CONFIRM_EMPTY_FORM
 from test.workflows import (
     assert_complete,
@@ -95,7 +95,7 @@ def test_validate_prefix_list_without_diff(mock_lso_interaction, geant_ip_subscr
 
 @pytest.mark.workflow()
 def test_validate_prefix_skip_on_juniper(
-    l3_core_service_subscription_factory,
+    geant_ip_subscription_factory,
     access_port_factory,
     service_binding_port_factory,
     edge_port_subscription_factory,
@@ -129,19 +129,15 @@ def test_validate_prefix_skip_on_juniper(
             ),
         ),
     ]
-    subscription_id = str(
-        l3_core_service_subscription_factory(
-            l3_core_service_type=L3CoreServiceType.GEANT_IP, ap_list=ap_list
-        ).subscription_id
-    )
+    subscription_id = str(geant_ip_subscription_factory(ap_list=ap_list).subscription_id)
     initial_l3_core_service_data = [{"subscription_id": subscription_id}]
     # Run the workflow and extract results
     #  Assert workflow completion since it is skipped if it is on a Juniper
-    result, _, _ = run_workflow("validate_prefix_list", initial_l3_core_service_data)
+    result, _, _ = run_workflow("validate_geant_ip_prefix_list", initial_l3_core_service_data)
     assert_complete(result)
     # Extract the state and validate subscription attributes
     state = extract_state(result)
     subscription_id = state["subscription_id"]
-    subscription = L3CoreService.from_subscription(subscription_id)
+    subscription = GeantIP.from_subscription(subscription_id)
     assert subscription.status == "active"
     assert subscription.insync is True