diff --git a/tests/suites/test_suite_x509parse.function b/tests/suites/test_suite_x509parse.function
index e19294a..18837c5 100644
--- a/tests/suites/test_suite_x509parse.function
+++ b/tests/suites/test_suite_x509parse.function
@@ -83,6 +83,36 @@
     return( 0 );
 }
 #endif /* POLARSSL_X509_CRT_PARSE_C */
+
+/* strsep() not available on Windows */
+char *mystrsep(char **stringp, const char *delim)
+{
+    const char *p;
+    char *ret = *stringp;
+
+    if( *stringp == NULL )
+        return( NULL );
+
+    for( ; ; (*stringp)++ )
+    {
+        if( **stringp == '\0' )
+        {
+            *stringp = NULL;
+            goto done;
+        }
+
+        for( p = delim; *p != '\0'; p++ )
+            if( **stringp == *p )
+            {
+                **stringp = '\0';
+                (*stringp)++;
+                goto done;
+            }
+    }
+
+done:
+    return( ret );
+}
 /* END_HEADER */
 
 /* BEGIN_DEPENDENCIES
@@ -457,7 +487,7 @@
     x509_crt_init( &chain );
     x509_crt_init( &trusted );
 
-    while( ( act = strsep( &chain_paths, " " ) ) != NULL )
+    while( ( act = mystrsep( &chain_paths, " " ) ) != NULL )
         TEST_ASSERT( x509_crt_parse_file( &chain, act ) == 0 );
     TEST_ASSERT( x509_crt_parse_file( &trusted, trusted_ca ) == 0 );
 
