diff --git a/mailbox-core/src/test/java/org/briarproject/mailbox/core/files/FileManagerIntegrationTest.kt b/mailbox-core/src/test/java/org/briarproject/mailbox/core/files/FileManagerIntegrationTest.kt
index f9af04219303d86a638d6bef1e907771d8ed30ea..22c7723608cc93fd323d3e42f2a93119e9f30a53 100644
--- a/mailbox-core/src/test/java/org/briarproject/mailbox/core/files/FileManagerIntegrationTest.kt
+++ b/mailbox-core/src/test/java/org/briarproject/mailbox/core/files/FileManagerIntegrationTest.kt
@@ -15,8 +15,10 @@ import org.briarproject.mailbox.core.server.IntegrationTest
 import org.junit.jupiter.api.Assertions.assertArrayEquals
 import org.junit.jupiter.api.BeforeEach
 import org.junit.jupiter.api.Test
+import java.io.File
 import kotlin.random.Random
 import kotlin.test.assertEquals
+import kotlin.test.assertTrue
 
 class FileManagerIntegrationTest : IntegrationTest() {
 
@@ -68,6 +70,7 @@ class FileManagerIntegrationTest : IntegrationTest() {
         }
         assertEquals(HttpStatusCode.BadRequest, response.status)
         assertEquals("Bad request: File larger than allowed.", response.readText())
+        assertNoTmpFiles()
     }
 
     @Test
@@ -79,6 +82,7 @@ class FileManagerIntegrationTest : IntegrationTest() {
             body = bytes
         }
         assertEquals(HttpStatusCode.OK, response.status)
+        assertNoTmpFiles()
         // owner connection got registered
         assertTimestampRecent(metadataManager.ownerConnectionTime.value)
 
@@ -112,6 +116,7 @@ class FileManagerIntegrationTest : IntegrationTest() {
                 authenticateWithToken(contact1.token)
             }
         assertEquals(0, emptyFileListResponse.files.size)
+        assertNoTmpFiles()
     }
 
     @Test
@@ -335,4 +340,11 @@ class FileManagerIntegrationTest : IntegrationTest() {
         // owner connection got registered
         assertTimestampRecent(metadataManager.ownerConnectionTime.value)
     }
+
+    private fun assertNoTmpFiles() {
+        val dir = requireNotNull(this.tempDir)
+        val tmp = File(dir, "tmp")
+        assertTrue(tmp.isDirectory)
+        assertEquals(0, tmp.listFiles()?.size)
+    }
 }
diff --git a/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/IntegrationTest.kt b/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/IntegrationTest.kt
index 778f9ed08e08029b9afff25ad39e886b3fce8929..3eef276aee498676b0c1896b75b879b7e29da381 100644
--- a/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/IntegrationTest.kt
+++ b/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/IntegrationTest.kt
@@ -61,6 +61,7 @@ abstract class IntegrationTest(private val installJsonFeature: Boolean = true) {
     protected val id = getNewRandomId()
     protected val contact1 = getNewRandomContact()
     protected val contact2 = getNewRandomContact()
+    protected var tempDir: File? = null
 
     @Volatile
     protected var exceptionInBackgroundThread: Throwable? = null
@@ -76,6 +77,7 @@ abstract class IntegrationTest(private val installJsonFeature: Boolean = true) {
 
     @BeforeAll
     fun setUp(@TempDir tempDir: File) {
+        this.tempDir = tempDir
         testComponent = DaggerTestComponent.builder().testModule(TestModule(tempDir)).build()
         testComponent.injectCoreEagerSingletons()
         assertFalse(setupManager.hasDb)