diff --git a/board/cm5200/fwupdate.c b/board/cm5200/fwupdate.c
index 06d50234e9ab046b544d95f03852f704480a8aba..2b923624aea11f4adfe5fb57c0ce1b9f0a1fddfc 100644
--- a/board/cm5200/fwupdate.c
+++ b/board/cm5200/fwupdate.c
@@ -12,6 +12,7 @@
 
 #include <common.h>
 #include <command.h>
+#include <fat.h>
 #include <malloc.h>
 #include <image.h>
 #include <usb.h>
@@ -19,9 +20,6 @@
 
 #include "fwupdate.h"
 
-extern long do_fat_read(const char *, void *, unsigned long, int);
-extern int do_fat_fsload(cmd_tbl_t *, int, int, char * const []);
-
 static int load_rescue_image(ulong);
 
 void cm5200_fwupdate(void)
@@ -124,7 +122,7 @@ static int load_rescue_image(ulong addr)
 				/* Check if rescue image is present */
 				FW_DEBUG("Looking for firmware directory '%s'"
 					" on partition %d\n", fwdir, i);
-				if (do_fat_read(fwdir, NULL, 0, LS_NO) == -1) {
+				if (!fat_exists(fwdir)) {
 					FW_DEBUG("No NX rescue image on "
 						"partition %d.\n", i);
 					partno = -2;