diff --git a/tests/suites/helpers.function b/tests/suites/helpers.function
index c436fbb..f82694a 100644
--- a/tests/suites/helpers.function
+++ b/tests/suites/helpers.function
@@ -132,13 +132,11 @@
 /* Helper Functions */
 static int platform_setup()
 {
+    int ret = 0;
 #if defined(MBEDTLS_PLATFORM_C)
-    if( mbedtls_platform_setup( &platform_ctx ) != 0 )
-    {
-        return -1;
-    }
+    ret = mbedtls_platform_setup( &platform_ctx );
 #endif /* MBEDTLS_PLATFORM_C */
-    return 0;
+    return( ret );
 }
 
 static void platform_teardown()
diff --git a/tests/suites/main_test.function b/tests/suites/main_test.function
index 8d7e477..1390f9f 100644
--- a/tests/suites/main_test.function
+++ b/tests/suites/main_test.function
@@ -282,10 +282,14 @@
     !defined(TEST_SUITE_MEMORY_BUFFER_ALLOC)
     unsigned char alloc_buf[1000000];
 #endif 
-    if( platform_setup() != 0 )
+    /* Platform setup should be called in the beginning */
+    ret = platform_setup();
+    if( ret != 0 )
     {
-        mbedtls_fprintf( stderr, "FATAL: Failed to initialize platform" );
-        return -1;
+        mbedtls_fprintf( stderr,
+                         "FATAL: Failed to initialize platform - error %d\n",
+                         ret );
+        return( -1 );
     }
 #if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C) && \
     !defined(TEST_SUITE_MEMORY_BUFFER_ALLOC)
@@ -312,7 +316,7 @@
     {
         mbedtls_fprintf( stderr, "the snprintf implementation is broken\n" );
         platform_teardown();
-        return( 0 );
+        return( 1 );
     }
 
     while( arg_index < argc)
