diff --git a/tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp b/tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp
index a0348f3c54fe0fb5476bdd0cfe7e59c4d6f4414a..24dd05223f4501e271b6afb89c1fee14fa912e5d 100644
--- a/tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp
+++ b/tests/auto/corelib/io/qtextstream/tst_qtextstream.cpp
@@ -3049,12 +3049,10 @@ void tst_QTextStream::int_write_with_locale()
 
 void tst_QTextStream::textModeOnEmptyRead()
 {
-    const QString filename("textmodetest.txt");
-    QFile::remove(filename); // Remove file if exists
-
+    const QString filename(tempDir.path() + QLatin1String("/textmodetest.txt"));
 
     QFile file(filename);
-    QVERIFY(file.open(QIODevice::ReadWrite | QIODevice::Text));
+    QVERIFY2(file.open(QIODevice::ReadWrite | QIODevice::Text), qPrintable(file.errorString()));
     QTextStream stream(&file);
     QVERIFY(file.isTextModeEnabled());
     QString emptyLine = stream.readLine(); // Text mode flag cleared here