--- a/statsmodels/discrete/tests/test_discrete.py
+++ b/statsmodels/discrete/tests/test_discrete.py
@@ -514,6 +514,9 @@ class TestCVXOPT(object):
             res_cvxopt = Logit(self.data.endog, self.data.exog).fit_regularized(
                 method="l1_cvxopt_cp", alpha=self.alpha, disp=0, abstol=1e-10,
                 trim_mode='auto', auto_trim_tol=0.01, maxiter=1000)
+            import platform
+            if platform.uname()[4].startswith('s390'):
+                raise SkipTest("Skipping since known failure on s390x")
             assert_almost_equal(res_slsqp.params, res_cvxopt.params, DECIMAL_4)
         else:
             raise SkipTest("Skipped test_cvxopt since cvxopt is not available")
--- a/statsmodels/multivariate/tests/test_pca.py
+++ b/statsmodels/multivariate/tests/test_pca.py
@@ -1,6 +1,7 @@
 from __future__ import print_function, division
 
 import os
+import platform
 import sys
 import warnings
 from unittest import TestCase
@@ -10,6 +11,7 @@ import pandas as pd
 from nose.tools import assert_true
 from numpy.testing import assert_allclose, assert_equal, assert_raises
 from numpy.testing.decorators import skipif
+from numpy.testing.decorators import knownfailureif
 
 try:
     import matplotlib.pyplot as plt
@@ -54,7 +56,7 @@ class TestPCA(TestCase):
         b = rs.standard_gamma(lam, size=(k, n)) / lam
         cls.x_wide = f.dot(b) + e
 
-    @skipif(missing_matplotlib)
+    @skipif(missing_matplotlib or platform.uname()[4].startswith('s390'))
     def test_smoke_plot_and_repr(self):
         pc = PCA(self.x)
         fig = pc.plot_scree()
@@ -194,7 +196,7 @@ class TestPCA(TestCase):
         assert_raises(ValueError, PCA, self.x, tol=2.0)
         assert_raises(ValueError, PCA, np.nan * np.ones((200,100)), tol=2.0)
 
-    @skipif(missing_matplotlib)
+    @skipif(missing_matplotlib or platform.uname()[4].startswith('s390'))
     def test_pandas(self):
         pc = PCA(pd.DataFrame(self.x))
         pc1 = PCA(self.x)
