diff --git a/scripts/test.py b/scripts/test.py
index 2755de2709281eaf3a67f93e706061dc542782e3..e3d9ab695b0b05491595f0ac99d9f389bd2bc149 100755
--- a/scripts/test.py
+++ b/scripts/test.py
@@ -27,7 +27,8 @@ blacklist = [
 java_test = Test('java', '/java.so -cp /tests/java/tests.jar:/tests/java/isolates.jar \
     -Disolates.jar=/tests/java/isolates.jar org.junit.runner.JUnitCore io.osv.AllTests')
 
-standard_tests = [StandardOSvTest(os.path.basename(x)) for x in glob.glob('build/release/tests/tst-*.so')]
+test_files = set(glob.glob('build/release/tests/tst-*.so')) - set(glob.glob('build/release/tests/*-stripped.so'))
+standard_tests = [StandardOSvTest(os.path.basename(x)) for x in test_files]
 tests = sorted([java_test] + standard_tests, key=attrgetter('name'))
 
 def scan_errors(s):
diff --git a/scripts/upload_manifest.py b/scripts/upload_manifest.py
index e401bb138130fda97457f34a2a24932a4ab3af7f..7f635f45bdc7131953336427df04937a978846fd 100755
--- a/scripts/upload_manifest.py
+++ b/scripts/upload_manifest.py
@@ -90,16 +90,10 @@ def upload(osv, manifest, depends):
                 + cpio_field(0, 8)                # check
                 + filename + '\0')
 
-    def is_strippable(filename):
-        if not filename.endswith(".so"):
-            return False
-        if os.path.basename(filename).startswith("tst-"):
-            return False
-        return filename[0] != "/" or filename.startswith(os.getcwd())
-
     def strip_file(filename):
         stripped_filename = filename
-        if is_strippable(filename):
+        if(filename.endswith(".so") and \
+                (filename[0] != "/" or filename.startswith(os.getcwd()))):
             stripped_filename = filename[:-3] + "-stripped.so"
             if(not os.path.exists(stripped_filename) \
                     or (os.path.getmtime(stripped_filename) < \