Index: /trunk/src/VBox/ValidationKit/tests/additions/tdAddBasic1.py
===================================================================
--- /trunk/src/VBox/ValidationKit/tests/additions/tdAddBasic1.py	(revision 84177)
+++ /trunk/src/VBox/ValidationKit/tests/additions/tdAddBasic1.py	(revision 84178)
@@ -305,19 +305,17 @@
                 return (False, oTxsSession);
 
-            #
-            # Wait for the GAs to come up.
-            #
-            fRc = self.waitForGuestAdditionsRunLevel(oSession, oGuest, 5 * 60 * 1000, vboxcon.AdditionsRunLevelType_Userland);
-            if not fRc:
-                return (False, oTxsSession);
-
             # Check the additionsVersion attribute. It must not be empty.
             reporter.testStart('IGuest::additionsVersion');
             fRc = self.testIGuest_additionsVersion(oGuest);
             reporter.testDone();
-
+            if not fRc:
+                return (False, oTxsSession);
+
+            # Wait for the GAs to come up.
             reporter.testStart('IGuest::additionsRunLevel');
-            self.testIGuest_additionsRunLevel(oGuest, oTestVm);
+            fRc = self.testIGuest_additionsRunLevel(oSession, oTestVm, oGuest);
             reporter.testDone();
+            if not fRc:
+                return (False, oTxsSession);
 
             ## @todo test IAdditionsFacilities.
@@ -497,5 +495,5 @@
         return True;
 
-    def testIGuest_additionsRunLevel(self, oGuest, oTestVm):
+    def testIGuest_additionsRunLevel(self, oSession, oTestVm, oGuest):
         """
         Do run level tests.
@@ -506,17 +504,5 @@
             eExpectedRunLevel = vboxcon.AdditionsRunLevelType_Userland;
 
-        ## @todo Insert wait for the desired run level.
-        try:
-            iLevel = oGuest.additionsRunLevel;
-        except:
-            reporter.errorXcpt('Getting the additions run level failed.');
-            return False;
-        reporter.log('IGuest::additionsRunLevel=%s' % (iLevel,));
-
-        if iLevel != eExpectedRunLevel:
-            pass; ## @todo We really need that wait!!
-            #reporter.error('Expected runlevel %d, found %d instead' % (eExpectedRunLevel, iLevel));
-        return True;
-
+        return self.waitForGuestAdditionsRunLevel(oSession, oGuest, 5 * 60 * 1000, eExpectedRunLevel);
 
     def testGuestProperties(self, oSession, oTxsSession, oTestVm):
