diff --git a/scapy.py b/scapy.py
index aba169f7799ff3c3126d71af6d29b1c424141c2b..4d59df60030cb75b7ac869393fb60191282b5187 100755
--- a/scapy.py
+++ b/scapy.py
@@ -1165,6 +1165,8 @@ if not LINUX:
     def read_routes():
         if SOLARIS:
             f=os.popen("netstat -rvn") # -f inet
+        elif FREEBSD:
+            f=os.popen("netstat -rnW") # -W to handle long interface names
         else:
             f=os.popen("netstat -rn") # -f inet
         ok = 0