--- a/statsmodels/discrete/tests/test_discrete.py
+++ b/statsmodels/discrete/tests/test_discrete.py
@@ -508,6 +508,9 @@
             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,13 +1,14 @@
 from __future__ import print_function, division
 
 import os
+import platform
 import sys
 from unittest import TestCase
 import warnings
 
 import numpy as np
 from numpy.testing import assert_allclose, assert_equal, assert_raises
-from numpy.testing.decorators import skipif
+from numpy.testing.decorators import skipif, knownfailureif
 import pandas as pd
 
 try:
@@ -53,7 +54,7 @@
         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()
@@ -193,7 +194,7 @@
         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)
