diff --git a/meanfi/kwant_helper/utils.py b/meanfi/kwant_helper/utils.py
index baf61a59cbe170acb3c937e30fd1287214be8869..7983e4ab6832c36583f80a943711cff288b73769 100644
--- a/meanfi/kwant_helper/utils.py
+++ b/meanfi/kwant_helper/utils.py
@@ -1,5 +1,6 @@
 from itertools import product
 from typing import Callable
+import inspect
 
 import numpy as np
 from scipy.sparse import coo_array
@@ -8,6 +9,7 @@ from kwant.builder import Site
 import kwant.lattice
 import kwant.builder
 
+
 from meanfi.tb.tb import _tb_type
 
 
@@ -49,7 +51,7 @@ def builder_to_tb(
         row, col = np.array([*product(tb_idx, tb_idx)]).T
 
         if callable(val):
-            param_keys = val.__code__.co_varnames[1:]
+            param_keys = inspect.getfullargspec(val).args[1:]
             try:
                 val = val(site, *[params[key] for key in param_keys])
             except KeyError as key:
@@ -74,7 +76,7 @@ def builder_to_tb(
         row, col = np.array([*product(tb_idx1, tb_idx2)]).T
 
         if callable(val):
-            param_keys = val.__code__.co_varnames[2:]
+            param_keys = inspect.getfullargspec(val).args[2:]
             try:
                 val = val(site1, site2, *[params[key] for key in param_keys])
             except KeyError as key: