diff --git a/CEP/PyBDSM/src/python/__init__.py b/CEP/PyBDSM/src/python/__init__.py
index e6b53202ead8503361be2061917064de8bd8f0ac..9552ee2bb0a4be381fee936dd71c08b5b7d156d4 100644
--- a/CEP/PyBDSM/src/python/__init__.py
+++ b/CEP/PyBDSM/src/python/__init__.py
@@ -9,20 +9,10 @@ required by 'execute').
 """
 try:
     import matplotlib.pyplot as pl
-except RuntimeError:
-    # Set use of AGG backend to avoid problems when there
-    # is no DISPLAY variable set
-    import sys
-    modules = []
-    for module in sys.modules:
-        if module.startswith('matplotlib'):
-            modules.append(module)
-    for module in modules:
-        sys.modules.pop(module)
-    import matplotlib as mpl
-    mpl.use('Agg')
-except ImportError:
-    print "\033[31;1mWARNING\033[0m: Matplotlib not found. Plotting is disabled."
+    has_pl = True
+except (RuntimeError, ImportError):
+    has_pl = False
+    print "\033[33;1mWARNING\033[0m: Matplotlib not found. Plotting is disabled."
 
 from readimage import Op_readimage
 from collapse import Op_collapse
diff --git a/CEP/PyBDSM/src/python/cleanup.py b/CEP/PyBDSM/src/python/cleanup.py
index 5042a9940fda93667b599a368b0bd2a2c89cf3cf..f73f331f4c33f93bd570ef4de0550b2effcf582c 100644
--- a/CEP/PyBDSM/src/python/cleanup.py
+++ b/CEP/PyBDSM/src/python/cleanup.py
@@ -6,12 +6,13 @@ import numpy as N
 import os
 from image import *
 import mylogger, os
-try:
-    import matplotlib.pyplot as pl
-    import matplotlib.cm as cm
-    has_pl = True
-except ImportError:
-    has_pl = False
+from . import has_pl
+#try:
+#    import matplotlib.pyplot as pl
+#    import matplotlib.cm as cm
+#    has_pl = True
+#except ImportError:
+#    has_pl = False
 import functions as func
 
 class Op_cleanup(Op):
diff --git a/CEP/PyBDSM/src/python/gausfit.py b/CEP/PyBDSM/src/python/gausfit.py
index 0b27e19dd01b5c1e8a83aebfc96c3ccb2a2c0c34..2727c30500d12b6a72793e3fe3f3235d4a5fd8e5 100644
--- a/CEP/PyBDSM/src/python/gausfit.py
+++ b/CEP/PyBDSM/src/python/gausfit.py
@@ -19,11 +19,12 @@ import sys
 import time
 import statusbar
 import _cbdsm
-try:
-    import matplotlib.pyplot as pl
-    has_pl = True
-except ImportError:
-    has_pl = False
+from . import has_pl
+#try:
+#    import matplotlib.pyplot as pl
+#    has_pl = True
+#except ImportError:
+#    has_pl = False
 import scipy.ndimage as nd
 import multi_proc as mp
 
diff --git a/CEP/PyBDSM/src/python/plotresults.py b/CEP/PyBDSM/src/python/plotresults.py
index f2956b98f759086a8624ae0bd1e4f6bdc3c55db7..8a93f4a243de46dbbae42f3cdcfb9c5d2a0b70a9 100644
--- a/CEP/PyBDSM/src/python/plotresults.py
+++ b/CEP/PyBDSM/src/python/plotresults.py
@@ -3,7 +3,8 @@
 This module is used to display fits results.
 """
 from image import *
-try:
+from . import has_pl
+if has_pl:
     import matplotlib.pyplot as pl
     import matplotlib.cm as cm
     import matplotlib.patches as mpatches
@@ -11,9 +12,6 @@ try:
     from matplotlib.patches import Ellipse
     from matplotlib.lines import Line2D
     from matplotlib import collections
-    has_pl = True
-except ImportError:
-    has_pl = False
 from math import log10
 import functions as func
 from const import fwsig
diff --git a/CEP/PyBDSM/src/python/psf_vary.py b/CEP/PyBDSM/src/python/psf_vary.py
index 252e09f3d027fce62a4b88a52eb105602354c9a5..19301635699aaf6eb86433b451219357dfc0270b 100644
--- a/CEP/PyBDSM/src/python/psf_vary.py
+++ b/CEP/PyBDSM/src/python/psf_vary.py
@@ -3,11 +3,12 @@ import numpy as N
 from image import *
 import mylogger
 from copy import deepcopy as cp
-try:
-    import matplotlib.pyplot as pl
-    has_pl = True
-except ImportError:
-    has_pl = False
+from . import has_pl
+#try:
+#    import matplotlib.pyplot as pl
+#    has_pl = True
+#except ImportError:
+#    has_pl = False
 import scipy
 import scipy.signal as S
 import _cbdsm
diff --git a/CEP/PyBDSM/src/python/wavelet_atrous.py b/CEP/PyBDSM/src/python/wavelet_atrous.py
index 3902ef21b6cd6b29cbabef168e3199a91704fc02..23e4a5342d28086c6d78a31ae67760fffbbc2a3b 100644
--- a/CEP/PyBDSM/src/python/wavelet_atrous.py
+++ b/CEP/PyBDSM/src/python/wavelet_atrous.py
@@ -8,11 +8,12 @@ import numpy as N
 from image import *
 import mylogger
 import os
-try:
-    import matplotlib.pyplot as pl
-    has_pl = True
-except ImportError:
-    has_pl = False
+from . import has_pl
+#try:
+#    import matplotlib.pyplot as pl
+#    has_pl = True
+#except ImportError:
+#    has_pl = False
 import _cbdsm
 from math import log, floor, sqrt
 import scipy.signal as S
diff --git a/CEP/PyBDSM/test/tbdsm_process_image.py b/CEP/PyBDSM/test/tbdsm_process_image.py
index cc17601e8645dc9dd2fecf7868512a9018e64c1c..e0cb23b25c0ec844efa1a4366f6512049a76f330 100644
--- a/CEP/PyBDSM/test/tbdsm_process_image.py
+++ b/CEP/PyBDSM/test/tbdsm_process_image.py
@@ -13,6 +13,7 @@ operations = [
 
 # Return exit status 0 if everything went fine, otherwise return 1.
 if img and all(oper in img.completed_Ops for oper in operations):
+    print 'here'
     sys.exit(0)
 else:
     sys.exit(1)