diff --git a/tests/executables_src/testExceptionHandling.cc b/tests/executables_src/testExceptionHandling.cc
index 597375232a6a0e7d587ca576564aca097d4a889a..636b1b1a0c268b119b3ee5cd28c68ea63ac263b2 100644
--- a/tests/executables_src/testExceptionHandling.cc
+++ b/tests/executables_src/testExceptionHandling.cc
@@ -193,14 +193,25 @@ BOOST_AUTO_TEST_CASE(testExceptionHandlingRead) {
   dev1.write<int>("MyModule/readBack.DUMMY_WRITEABLE", 42);
   dev2.write<int>("MyModule/readBack.DUMMY_WRITEABLE", 52);
 
-  // initially there should be no error set
+  // initially, devices are not opened but errors should be cleared once they are opened
   trigger.write();
+
+  do {
+    message1.readLatest();
+    status1.readLatest();
+  } while(status1 != 0 || std::string(message1) != "");
   BOOST_CHECK(!message1.readLatest());
   BOOST_CHECK(!status1.readLatest());
+
+  do {
+    message2.readLatest();
+    status2.readLatest();
+  } while(status2 != 0 || std::string(message2) != "");
+  BOOST_CHECK(!message2.readLatest());
+  BOOST_CHECK(!status2.readLatest());
+
   CHECK_TIMEOUT(readback1.readLatest(), 10000);
   CHECK_TIMEOUT(readback2.readLatest(), 10000);
-  BOOST_CHECK(static_cast<std::string>(message1) == "");
-  BOOST_CHECK(status1 == 0);
   BOOST_CHECK_EQUAL(readback1, 42);
   BOOST_CHECK_EQUAL(readback2, 52);
 
@@ -295,7 +306,21 @@ BOOST_AUTO_TEST_CASE(testExceptionHandlingWrite) {
 
   auto trigger = test.getScalar<int>("trigger");
 
-  // initially there should be no error set
+  // initially, devices are not opened but errors should be cleared once they are opened
+  do {
+    message1.readLatest();
+    status1.readLatest();
+  } while(status1 != 0 || std::string(message1) != "");
+  BOOST_CHECK(!message1.readLatest());
+  BOOST_CHECK(!status1.readLatest());
+
+  do {
+    message2.readLatest();
+    status2.readLatest();
+  } while(status2 != 0 || std::string(message2) != "");
+  BOOST_CHECK(!message2.readLatest());
+  BOOST_CHECK(!status2.readLatest());
+
   actuator1 = 29;
   actuator1.write();
   actuator2 = 39;