diff --git a/pyfstat/core.py b/pyfstat/core.py
index 7ee28da37258a559b7e04b910e5a21ba00de3b93..92e5f891e0b81595e4a7148a59847c55ef8dde42 100755
--- a/pyfstat/core.py
+++ b/pyfstat/core.py
@@ -6,7 +6,17 @@ import glob
 import subprocess
 
 import numpy as np
-import matplotlib.pyplot as plt
+
+# workaround for matplotlib on X-less remote logins
+if os.environ.has_key('DISPLAY'):
+    import matplotlib.pyplot as plt
+else:
+    logging.info('No $DISPLAY environment variable found, \
+                  so importing matplotlib.pyplot with non-interactive "Agg" backend.')
+    import matplotlib
+    matplotlib.use('Agg')
+    import matplotlib.pyplot as plt
+
 import scipy.special
 import scipy.optimize
 import lal