diff --git a/dlls/winmm/tests/capture.c b/dlls/winmm/tests/capture.c
index 3f5e3c78f8..2dca642878 100644
--- a/dlls/winmm/tests/capture.c
+++ b/dlls/winmm/tests/capture.c
@@ -577,13 +577,13 @@ static void wave_in_tests()
 
     rc=waveInGetDevCapsA(WAVE_MAPPER,&capsA,sizeof(capsA));
     if (ndev>0)
-        ok(rc==MMSYSERR_NOERROR,
-           "waveInGetDevCapsA(%s): MMSYSERR_NOERROR expected, got %s\n",
-           dev_name(ndev+1),wave_in_error(rc));
+        ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NODRIVER,
+           "waveInGetDevCapsA(%s): MMSYSERR_NOERROR or MMSYSERR_NODRIVER "
+           "expected, got %s\n",dev_name(WAVE_MAPPER),wave_in_error(rc));
     else
         ok(rc==MMSYSERR_BADDEVICEID || rc==MMSYSERR_NODRIVER,
            "waveInGetDevCapsA(%s): MMSYSERR_BADDEVICEID or MMSYSERR_NODRIVER "
-           "expected, got %s\n",dev_name(ndev+1),wave_in_error(rc));
+           "expected, got %s\n",dev_name(WAVE_MAPPER),wave_in_error(rc));
 
     rc=waveInGetDevCapsW(ndev+1,&capsW,sizeof(capsW));
     ok(rc==MMSYSERR_BADDEVICEID || rc==MMSYSERR_NOTSUPPORTED,
@@ -592,9 +592,11 @@ static void wave_in_tests()
 
     rc=waveInGetDevCapsW(WAVE_MAPPER,&capsW,sizeof(capsW));
     if (ndev>0)
-        ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NOTSUPPORTED,
-           "waveInGetDevCapsW(%s): MMSYSERR_NOERROR or MMSYSERR_NOTSUPPORTED "
-           "expected, got %s\n",dev_name(ndev+1),wave_in_error(rc));
+        ok(rc==MMSYSERR_NOERROR || rc==MMSYSERR_NODRIVER ||
+           rc==MMSYSERR_NOTSUPPORTED,
+           "waveInGetDevCapsW(%s): MMSYSERR_NOERROR or MMSYSERR_NODRIVER or "
+           "MMSYSERR_NOTSUPPORTED expected, got %s\n",
+           dev_name(ndev+1),wave_in_error(rc));
     else
         ok(rc==MMSYSERR_BADDEVICEID || rc==MMSYSERR_NODRIVER,
            "waveInGetDevCapsW(%s): MMSYSERR_BADDEVICEID or MMSYSERR_NODRIVER "
diff --git a/dlls/winmm/tests/mixer.c b/dlls/winmm/tests/mixer.c
index 10f4a9380d..ac8656b853 100644
--- a/dlls/winmm/tests/mixer.c
+++ b/dlls/winmm/tests/mixer.c
@@ -432,11 +432,13 @@ void mixer_test_deviceA(int device)
             mixerlineA.dwDestination=d;
             rc=mixerGetLineInfoA((HMIXEROBJ)mix,&mixerlineA,
                                   MIXER_GETLINEINFOF_DESTINATION);
-            ok(rc==MMSYSERR_NOERROR,
+            ok(rc==MMSYSERR_NOERROR||rc==MMSYSERR_NODRIVER,
                "mixerGetLineInfoA(MIXER_GETLINEINFOF_DESTINATION): "
                "MMSYSERR_NOERROR expected, got %s\n",
                mmsys_error(rc));
-            if (rc==MMSYSERR_NOERROR && winetest_interactive) {
+            if (rc==MMSYSERR_NODRIVER)
+                trace("  No Driver\n");
+            else if (rc==MMSYSERR_NOERROR && winetest_interactive) {
                 trace("    %ld: \"%s\" (%s) Destination=%ld Source=%ld\n",
                       d,mixerlineA.szShortName, mixerlineA.szName,
                       mixerlineA.dwDestination,mixerlineA.dwSource);
@@ -464,11 +466,13 @@ void mixer_test_deviceA(int device)
                 mixerlineA.dwSource=s;
                 rc=mixerGetLineInfoA((HMIXEROBJ)mix,&mixerlineA,
                                      MIXER_GETLINEINFOF_SOURCE);
-                ok(rc==MMSYSERR_NOERROR,
+                ok(rc==MMSYSERR_NOERROR||rc==MMSYSERR_NODRIVER,
                    "mixerGetLineInfoA(MIXER_GETLINEINFOF_SOURCE): "
                    "MMSYSERR_NOERROR expected, got %s\n",
                    mmsys_error(rc));
-                if (rc==MMSYSERR_NOERROR) {
+                if (rc==MMSYSERR_NODRIVER)
+                    trace("  No Driver\n");
+                else if (rc==MMSYSERR_NOERROR) {
                     LPMIXERCONTROLA    array;
                     MIXERLINECONTROLSA controls;
                     if (winetest_interactive) {
@@ -809,11 +813,13 @@ void mixer_test_deviceW(int device)
             mixerlineW.dwDestination=d;
             rc=mixerGetLineInfoW((HMIXEROBJ)mix,&mixerlineW,
                                   MIXER_GETLINEINFOF_DESTINATION);
-            ok(rc==MMSYSERR_NOERROR,
+            ok(rc==MMSYSERR_NOERROR||rc==MMSYSERR_NODRIVER,
                "mixerGetLineInfoW(MIXER_GETLINEINFOF_DESTINATION): "
                "MMSYSERR_NOERROR expected, got %s\n",
                mmsys_error(rc));
-            if (rc==MMSYSERR_NOERROR && winetest_interactive) {
+            if (rc==MMSYSERR_NODRIVER)
+                trace("  No Driver\n");
+            else if (rc==MMSYSERR_NOERROR && winetest_interactive) {
                 WideCharToMultiByte(CP_ACP,0,mixerlineW.szShortName,
                     MIXER_SHORT_NAME_CHARS,szShortName,
                     MIXER_SHORT_NAME_CHARS,NULL,NULL);
@@ -849,11 +855,13 @@ void mixer_test_deviceW(int device)
                 mixerlineW.dwSource=s;
                 rc=mixerGetLineInfoW((HMIXEROBJ)mix,&mixerlineW,
                                      MIXER_GETLINEINFOF_SOURCE);
-                ok(rc==MMSYSERR_NOERROR,
+                ok(rc==MMSYSERR_NOERROR||rc==MMSYSERR_NODRIVER,
                    "mixerGetLineInfoW(MIXER_GETLINEINFOF_SOURCE): "
                    "MMSYSERR_NOERROR expected, got %s\n",
                    mmsys_error(rc));
-                if (rc==MMSYSERR_NOERROR) {
+                if (rc==MMSYSERR_NODRIVER)
+                    trace("  No Driver\n");
+                else if (rc==MMSYSERR_NOERROR) {
                     LPMIXERCONTROLW    array;
                     MIXERLINECONTROLSW controls;
                     if (winetest_interactive) {