diff --git a/scapy/utils.py b/scapy/utils.py
index 7c2bc23d31dab52c7d0674dae55a0f9f46fe6ae5..be7a3bbdce8795c7ac15e8e3cace5b094baa3a8f 100644
--- a/scapy/utils.py
+++ b/scapy/utils.py
@@ -436,7 +436,10 @@ def do_graph(graph,prog=None,format=None,target=None,type=None,string=None,optio
         format = "-T %s" % format
     w,r = os.popen2("%s %s %s %s" % (prog,options or "", format or "", target))
     w.write(graph)
-    w.close()
+    try:
+        w.close()
+    except IOError:
+        pass
     if start_viewer:
         # Workaround for file not found error: We wait until tempfile is written.
         waiting_start = time.time()