diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_l3vpn/Handlers.py b/src/nbi/service/rest_server/nbi_plugins/ietf_l3vpn/Handlers.py
index f7329cb35666f423e85f99510e5f89a82e89b7f8..cb3bd0ba2501bd3e4c79adf24ebdb0be0859a026 100644
--- a/src/nbi/service/rest_server/nbi_plugins/ietf_l3vpn/Handlers.py
+++ b/src/nbi/service/rest_server/nbi_plugins/ietf_l3vpn/Handlers.py
@@ -195,11 +195,17 @@ def process_site(site : Dict, errors : List[Dict]) -> None:
 
     # site_static_routing: (lan-range, lan-prefix-len, lan-tag) => next-hop
     site_static_routing : Dict[Tuple[str, str], str] = {}
-    for rt_proto in site['routing-protocols']['routing-protocol']:
+    site_routing_protocols : Dict = site.get('routing-protocols', dict()).get('routing-protocol', list())
+    site_routing_protocol : List = site_routing_protocols.get('routing-protocol', list())
+    for rt_proto in site_routing_protocol:
         if rt_proto['type'] != 'ietf-l3vpn-svc:static':
             MSG = 'Site Routing Protocol Type: {:s}'
             raise NotImplementedError(MSG.format(str(rt_proto['type'])))
-        for ipv4_rt in rt_proto['static']['cascaded-lan-prefixes']['ipv4-lan-prefixes']:
+        
+        rt_proto_static : Dict = rt_proto.get('static', dict())
+        rt_proto_static_clps : Dict = rt_proto_static.get('cascaded-lan-prefixes', dict())
+        rt_proto_static_clps_v4 = rt_proto_static_clps.get('ipv4-lan-prefixes', list())
+        for ipv4_rt in rt_proto_static_clps_v4:
             lan_range, lan_prefix = ipv4_rt['lan'].split('/')
             lan_prefix = int(lan_prefix)
             lan_tag   = int(ipv4_rt['lan-tag'].replace('vlan', ''))