diff --git a/Core/RetroAchievements.h b/Core/RetroAchievements.h
index 737538f20422..d158a03a37ed 100644
--- a/Core/RetroAchievements.h
+++ b/Core/RetroAchievements.h
@@ -21,12 +21,12 @@
#include "Common/CommonTypes.h"
#include "Core/Loaders.h" // for IdentifiedFileType
-#include "ext/rcheevos/include/rc_client.h"
-
class Path;
class PointerWrap;
class FileLoader;
+struct rc_client_t;
+
namespace Achievements {
struct Statistics {
diff --git a/UI/RetroAchievementScreens.h b/UI/RetroAchievementScreens.h
index 48d13b1671fb..b3fe0826e2ed 100644
--- a/UI/RetroAchievementScreens.h
+++ b/UI/RetroAchievementScreens.h
@@ -10,6 +10,8 @@
#include "UI/MiscScreens.h"
#include "UI/TabbedDialogScreen.h"
+#include "ext/rcheevos/include/rc_client.h"
+
// Lists the achievements and leaderboards for one game.
class RetroAchievementsListScreen : public TabbedUIDialogScreenWithGameBackground {
public:
diff --git a/UWP/rcheevos_UWP/rcheevos_UWP.vcxproj b/UWP/rcheevos_UWP/rcheevos_UWP.vcxproj
index dec3e5e706d1..5a210d97ae66 100644
--- a/UWP/rcheevos_UWP/rcheevos_UWP.vcxproj
+++ b/UWP/rcheevos_UWP/rcheevos_UWP.vcxproj
@@ -40,10 +40,10 @@
+
-
diff --git a/UWP/rcheevos_UWP/rcheevos_UWP.vcxproj.filters b/UWP/rcheevos_UWP/rcheevos_UWP.vcxproj.filters
index 847b8ec387fa..b1f493b0e12a 100644
--- a/UWP/rcheevos_UWP/rcheevos_UWP.vcxproj.filters
+++ b/UWP/rcheevos_UWP/rcheevos_UWP.vcxproj.filters
@@ -52,8 +52,8 @@
rcheevos
-
- rcheevos
+
+ include
rhash
diff --git a/android/jni/Android.mk b/android/jni/Android.mk
index 77f9a0d60444..78560cbb723c 100644
--- a/android/jni/Android.mk
+++ b/android/jni/Android.mk
@@ -38,10 +38,6 @@ include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/Locals.mk
-LOCAL_C_INCLUDES += \
- $(LOCAL_PATH)/../../ext/cpu_features/include \
- $(LOCAL_PATH)/../../ext/rcheevos/include
-
LOCAL_CFLAGS += -DSTACK_LINE_READER_BUFFER_SIZE=1024 -DHAVE_DLFCN_H -DRC_DISABLE_LUA -D_7ZIP_ST
# http://software.intel.com/en-us/articles/getting-started-on-optimizing-ndk-project-for-multiple-cpu-architectures
diff --git a/android/jni/Locals.mk b/android/jni/Locals.mk
index 6e52cc9ee4a7..c180133e2432 100644
--- a/android/jni/Locals.mk
+++ b/android/jni/Locals.mk
@@ -22,6 +22,8 @@ LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/../../ext/armips/ext/tinyformat \
$(LOCAL_PATH)/../../ext/libchdr/deps/lzma-22.01/include \
$(LOCAL_PATH)/../../ext/libchdr/include \
+ $(LOCAL_PATH)/../../ext/cpu_features/include \
+ $(LOCAL_PATH)/../../ext/rcheevos/include \
$(LOCAL_PATH)
LOCAL_STATIC_LIBRARIES := libzip glslang-build miniupnp-build
diff --git a/ext/rcheevos b/ext/rcheevos
index 64fcb9ea3cf9..6fb3ebca22fe 160000
--- a/ext/rcheevos
+++ b/ext/rcheevos
@@ -1 +1 @@
-Subproject commit 64fcb9ea3cf990e65343057ace9271ff3b77428e
+Subproject commit 6fb3ebca22fe4f3a97e7a391e5e9c4623aa2286a
diff --git a/ext/rcheevos-build/CMakeLists.txt b/ext/rcheevos-build/CMakeLists.txt
index f60627a5b858..5638df375054 100644
--- a/ext/rcheevos-build/CMakeLists.txt
+++ b/ext/rcheevos-build/CMakeLists.txt
@@ -22,7 +22,6 @@ set(ALL_SOURCE_FILES
${SRC_DIR}/rcheevos/memref.c
${SRC_DIR}/rcheevos/operand.c
${SRC_DIR}/rc_compat.h
- ${SRC_DIR}/rc_compat.h
${SRC_DIR}/rc_compat.c
${SRC_DIR}/rc_util.c
${SRC_DIR}/rc_client.c
diff --git a/ext/rcheevos-build/rcheevos.vcxproj b/ext/rcheevos-build/rcheevos.vcxproj
index 066ccf5b740c..70af3d7c65aa 100644
--- a/ext/rcheevos-build/rcheevos.vcxproj
+++ b/ext/rcheevos-build/rcheevos.vcxproj
@@ -75,12 +75,12 @@
+
-
diff --git a/ext/rcheevos-build/rcheevos.vcxproj.filters b/ext/rcheevos-build/rcheevos.vcxproj.filters
index 0fcd76becbf5..6151abfe7e26 100644
--- a/ext/rcheevos-build/rcheevos.vcxproj.filters
+++ b/ext/rcheevos-build/rcheevos.vcxproj.filters
@@ -152,8 +152,8 @@
rcheevos
-
- rcheevos
+
+ include
\ No newline at end of file