diff --git a/Makefile b/Makefile
index fef643e..1e285a6 100644
--- a/Makefile
+++ b/Makefile
@@ -11,9 +11,11 @@
 ifneq "$(wildcard $(DIR_FOR_MBED_TLS_ENV) )" ""
 	LIBRARY_DIR=./library
 	INCLUDE_DIR=./include
+	CONFIG_FILE=./include/mbedtls/config.h
 else
 	LIBRARY_DIR=./src
 	INCLUDE_DIR=./inc
+	CONFIG_FILE=./inc/mbedtls/test_config.h
 endif
 
 .SILENT:
@@ -87,11 +89,11 @@
 ifndef WINDOWS
 
 	# If 128-bit keys are configured for CTR_DRBG, display an appropriate warning
-	-scripts/config.pl get MBEDTLS_CTR_DRBG_USE_128_BIT_KEY && ([ $$? -eq 0 ]) && \
+	-scripts/config.pl -f $(CONFIG_FILE) get MBEDTLS_CTR_DRBG_USE_128_BIT_KEY && ([ $$? -eq 0 ]) && \
 	    echo '$(CTR_DRBG_128_BIT_KEY_WARNING)'
 
 	# If NULL Entropy is configured, display an appropriate warning
-	-scripts/config.pl get MBEDTLS_TEST_NULL_ENTROPY && ([ $$? -eq 0 ]) && \
+	-scripts/config.pl -f $(CONFIG_FILE) get MBEDTLS_TEST_NULL_ENTROPY && ([ $$? -eq 0 ]) && \
 	    echo '$(NULL_ENTROPY_WARNING)'
 endif
 
diff --git a/library/Makefile b/library/Makefile
index e0141bf..5ea4063 100644
--- a/library/Makefile
+++ b/library/Makefile
@@ -9,17 +9,15 @@
 # Otherwise Mbed OS environment is used.
 DIR_FOR_MBED_TLS_ENV=../library
 ifneq "$(wildcard $(DIR_FOR_MBED_TLS_ENV) )" ""
-    # Set include dirs for Mbed TLS test environment
+	# Set include dirs for Mbed TLS test environment
 	INCLUDE_DIRS=-I../include
 else
-    # Set include dirs for Mbed OS test environment
-	INCLUDE_DIRS=-I.. -I../inc
+	# Set include dirs for Mbed OS test environment
+	INCLUDE_DIRS=-I../inc
+	CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"mbedtls/test_config.h\""
 endif
 
 LOCAL_CFLAGS = $(WARNING_CFLAGS) $(INCLUDE_DIRS) -D_FILE_OFFSET_BITS=64
-ifdef MBEDTLS_CONFIG_FILE
-LOCAL_CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"${MBEDTLS_CONFIG_FILE}\""
-endif
 
 LOCAL_LDFLAGS =
 
diff --git a/programs/Makefile b/programs/Makefile
index 7ceca2e..c7dcacb 100644
--- a/programs/Makefile
+++ b/programs/Makefile
@@ -15,13 +15,11 @@
 	INCLUDE_DIR=-I../include
 else
 	LIBRARY_DIR=../src
-	INCLUDE_DIR=-I.. -I../inc
+	INCLUDE_DIR=-I../inc
+	CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"mbedtls/test_config.h\""
 endif
 
 LOCAL_CFLAGS = $(WARNING_CFLAGS) $(INCLUDE_DIR) -D_FILE_OFFSET_BITS=64
-ifdef MBEDTLS_CONFIG_FILE
-LOCAL_CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"${MBEDTLS_CONFIG_FILE}\""
-endif
 
 LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) $(INCLUDE_DIR) -D_FILE_OFFSET_BITS=64
 LOCAL_LDFLAGS = -L$(LIBRARY_DIR)	\
diff --git a/scripts/config.pl b/scripts/config.pl
index edd4200..287f1f1 100755
--- a/scripts/config.pl
+++ b/scripts/config.pl
@@ -53,28 +53,7 @@
 use warnings;
 use strict;
 
-my $config_file;
-my $include_dir;
-my $library_dir;
-my $mbedtls_config_file = $ENV{"MBEDTLS_CONFIG_FILE"};
-
-if ( ( -d "../library") || ( -d "./library") )  {
-    # library directory is present, we are using Mbed TLS namespace
-    $config_file = "include/mbedtls/config.h";
-    $include_dir = "include";
-    $library_dir = "library";
-} else {
-    # library directory is not present, we are using Mbed OS namespace
-    $config_file = "inc/mbedtls/config.h";
-    $include_dir = "inc";
-    $library_dir = "src";
-}
-
-if ( length $mbedtls_config_file ) {
-    $mbedtls_config_file = substr $mbedtls_config_file, 1, -1;
-    $config_file = $include_dir . "/" . $mbedtls_config_file;
-}
-
+my $config_file = "include/mbedtls/config.h";
 my $usage = <<EOU;
 $0 [-f <file> | --file <file>] [-o | --force]
                    [set <symbol> <value> | unset <symbol> | get <symbol> |
@@ -226,7 +205,7 @@
     chdir '..' or die;
 
     # Confirm this is the project root directory and try again
-    if ( !(-d 'scripts' && -d $include_dir && -d $library_dir && -f $config_file) ) {
+    if ( !(-d 'scripts' && -d 'include' && -d 'library' && -f $config_file) ) {
         die "If no file specified, must be run from the project root or scripts directory.\n";
     }
 }
diff --git a/tests/Makefile b/tests/Makefile
index bc3aba5..dee011f 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -14,13 +14,11 @@
 	INCLUDE_DIR=-I../include
 else
 	LIBRARY_DIR=../src
-	INCLUDE_DIR=-I.. -I../inc
+	INCLUDE_DIR=-I../inc
+	CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"mbedtls/test_config.h\""
 endif
 
 LOCAL_CFLAGS = $(WARNING_CFLAGS) $(INCLUDE_DIR) -D_FILE_OFFSET_BITS=64
-ifdef MBEDTLS_CONFIG_FILE
-LOCAL_CFLAGS += "-DMBEDTLS_CONFIG_FILE=\"${MBEDTLS_CONFIG_FILE}\""
-endif
 
 LOCAL_LDFLAGS = -L$(LIBRARY_DIR)		\
 		-lmbedtls$(SHARED_SUFFIX)	\
diff --git a/tests/ssl-opt.sh b/tests/ssl-opt.sh
index 38b1b69..efd1fb3 100755
--- a/tests/ssl-opt.sh
+++ b/tests/ssl-opt.sh
@@ -21,6 +21,18 @@
 
 set -u
 
+# Detect used test environment: Mbed TLS or Mbed OS 
+if [ -f "../include/mbedtls/config.h" ]
+then
+    CONFIG_FILE=../include/mbedtls/config.h
+elif [ -f "../inc/mbedtls/test_config.h" ]
+then
+    CONFIG_FILE=../inc/mbedtls/test_config.h
+else
+    echo "Can't locate config file, must be run from mbed TLS root" >&2
+    exit 1
+fi
+
 # Limit the size of each log to 10 GiB, in case of failures with this script
 # where it may output seemingly unlimited length error logs.
 ulimit -f 20971520
@@ -297,9 +309,9 @@
 }
 
 # Calculate the input & output maximum content lengths set in the config
-MAX_CONTENT_LEN=$( ../scripts/config.pl get MBEDTLS_SSL_MAX_CONTENT_LEN || echo "16384")
-MAX_IN_LEN=$( ../scripts/config.pl get MBEDTLS_SSL_IN_CONTENT_LEN || echo "$MAX_CONTENT_LEN")
-MAX_OUT_LEN=$( ../scripts/config.pl get MBEDTLS_SSL_OUT_CONTENT_LEN || echo "$MAX_CONTENT_LEN")
+MAX_CONTENT_LEN=$( ../scripts/config.pl -f $CONFIG_FILE get MBEDTLS_SSL_MAX_CONTENT_LEN || echo "16384")
+MAX_IN_LEN=$( ../scripts/config.pl -f $CONFIG_FILE get MBEDTLS_SSL_IN_CONTENT_LEN || echo "$MAX_CONTENT_LEN")
+MAX_OUT_LEN=$( ../scripts/config.pl -f $CONFIG_FILE get MBEDTLS_SSL_OUT_CONTENT_LEN || echo "$MAX_CONTENT_LEN")
 
 if [ "$MAX_IN_LEN" -lt "$MAX_CONTENT_LEN" ]; then
     MAX_CONTENT_LEN="$MAX_IN_LEN"
