diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index 07c045616f95eb08753690cf60505db0d69f971b..b7e8ac89be24f9ad9c97790947b0f12d4e9459cc 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -341,6 +341,11 @@ HRESULT WINAPI IDirectInputDevice2AImpl_QueryInterface(
 		*ppobj = This;
 		return 0;
 	}
+	if (IsEqualGUID(&IID_IDirectInputDevice2A,riid)) {
+		IDirectInputDevice2_AddRef(iface);
+		*ppobj = This;
+		return 0;
+	}
 	if (IsEqualGUID(&IID_IDirectInputDevice7A,riid)) {
 		IDirectInputDevice7_AddRef(iface);
 		*ppobj = This;