diff --git a/inventory_provider/nokia.py b/inventory_provider/nokia.py
index 640adaba25822dacbf56b2af004dcd74e0ccb645..2a0af54782b74fecc4cfd92df5c06af0158545a9 100644
--- a/inventory_provider/nokia.py
+++ b/inventory_provider/nokia.py
@@ -154,7 +154,7 @@ def get_interfaces_state(state_doc):
     for interface_ in interfaces:
         details = {
             "interface-name": interface_.find('s:interface-name', namespaces=NS).text,
-            "if-index": interface_.find('s:if-index', namespaces=NS).text,
+            "if-index": int(interface_.find('s:if-index', namespaces=NS).text),
             "oper-state": interface_.find('s:oper-state', namespaces=NS).text,
         }
         ipv4 = interface_.find('s:ipv4', namespaces=NS)
diff --git a/test/test_nokia.py b/test/test_nokia.py
index a55f331d143a29c61a04bf3df07937b18ce4c857..b4302c0998b64da4cf6c96b91e36aeaf07593a44 100644
--- a/test/test_nokia.py
+++ b/test/test_nokia.py
@@ -73,3 +73,18 @@ def test_get_interface_state():
     expected_up_interfaces = {'system', 'lag-2.0', 'guy', 'exfo400-100', 'management'}
     assert {k for k, v in interfaces.items() if
             v['oper-state'] == 'up'} == expected_up_interfaces
+
+
+def test_snmp_index():
+    interfaces = get_interfaces_state(state_doc)
+    expected = {
+        "system": 1,
+        "lag-1.0": 2,
+        "lag-2.0": 3,
+        "lag-3.0": 4,
+        "exfo400": 5,
+        "guy": 6,
+        "exfo400-100": 7,
+        "management": 1280,
+    }
+    assert {ifc["interface-name"]: ifc["if-index"] for ifc in interfaces} == expected