diff --git a/python/misc_utils/arfcn.py b/python/misc_utils/arfcn.py
index bf227b4..86d379d 100644
--- a/python/misc_utils/arfcn.py
+++ b/python/misc_utils/arfcn.py
@@ -112,7 +112,7 @@
         if offset is not None:
             f = f_start + (__chan_spacing * (arfcn - offset))
             return round(f, 1)
-    return None
+    return -1
 
 
 def arfcn2downlink(arfcn, band):
@@ -120,7 +120,7 @@
         conf = __band_conf.get(band)
         distance = conf['distance']
         return round(arfcn2uplink(arfcn, band) + distance, 1)
-    return None
+    return -1
 
 
 def uplink2arfcn(freq, band):
@@ -135,7 +135,7 @@
             arfcn = int(round(offset + ((freq - f_start) / __chan_spacing), 0))
             if arfcn_start <= arfcn <= arfcn_end:
                 return arfcn
-    return None
+    return -1
 
 
 def downlink2arfcn(freq, band):
@@ -144,7 +144,7 @@
         distance = conf['distance']
         freq_uplink = freq - distance
         return int(round(uplink2arfcn(freq_uplink, band), 0))
-    return None
+    return -1
 
 
 def get_arfcn_ranges(band):
