diff --git a/test/test_clmath.py b/test/test_clmath.py
index 9c322cdf4b6cc8f1d18697da098b841444b48984..8329f40bc5751dc9e5d609903e48c8c70dd46355 100644
--- a/test/test_clmath.py
+++ b/test/test_clmath.py
@@ -204,6 +204,10 @@ def test_modf(ctx_factory):
     context = ctx_factory()
     queue = cl.CommandQueue(context)
 
+    if context.devices[0].platform.name == "Portable Computing Language":
+        # https://github.com/pocl/pocl/issues/198
+        pytest.skip("POCL doesn't seem to have modf")
+
     for s in sizes:
         a = cl_array.arange(queue, s, dtype=np.float32)/10
         fracpart, intpart = clmath.modf(a)
@@ -223,6 +227,10 @@ def test_frexp(ctx_factory):
     context = ctx_factory()
     queue = cl.CommandQueue(context)
 
+    if context.devices[0].platform.name == "Portable Computing Language":
+        # https://github.com/pocl/pocl/issues/198
+        pytest.skip("POCL doesn't seem to have frexp")
+
     for s in sizes:
         a = cl_array.arange(queue, s, dtype=np.float32)/10
         significands, exponents = clmath.frexp(a)
@@ -252,6 +260,10 @@ def test_bessel(ctx_factory):
         from pytest import skip
         skip("no double precision support--cannot test bessel function")
 
+    if ctx.devices[0].platform.name == "Portable Computing Language":
+        # https://github.com/pocl/pocl/issues/198
+        pytest.skip("POCL doesn't seem to have frexp")
+
     nterms = 30
 
     try: