diff --git a/common/Makefile b/common/Makefile
index 1d8ec8707925440a251a4b8cbefb114c4a20ebec..e9f75f441db0eb24f573e74a157ee16663821928 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -84,7 +84,7 @@ COBJS-y += cmd_eeprom.o
 COBJS-$(CONFIG_CMD_ELF) += cmd_elf.o
 COBJS-$(CONFIG_CMD_EXT2) += cmd_ext2.o
 COBJS-$(CONFIG_CMD_FAT) += cmd_fat.o
-COBJS-y += cmd_fdc.o
+COBJS-$(CONFIG_CMD_FDC)$(CONFIG_CMD_FDOS) += cmd_fdc.o
 COBJS-$(CONFIG_OF_LIBFDT) += cmd_fdt.o fdt_support.o
 COBJS-$(CONFIG_CMD_FDOS) += cmd_fdos.o
 COBJS-$(CONFIG_CMD_FLASH) += cmd_flash.o
diff --git a/common/cmd_fdc.c b/common/cmd_fdc.c
index 8493defe93473dfd13f78b5aa211ddb621695478..b663d60a507a463ae6a366d4a22f671e971961ae 100644
--- a/common/cmd_fdc.c
+++ b/common/cmd_fdc.c
@@ -50,8 +50,6 @@
 /*#include <rtc.h> */
 /*#endif */
 
-#if defined(CONFIG_CMD_FDC) || defined(CONFIG_CMD_FDOS)
-
 typedef struct {
 	int		flags;		/* connected drives ect */
 	unsigned long	blnr;		/* Logical block nr */
@@ -705,7 +703,6 @@ int fdc_setup(int drive, FDC_COMMAND_STRUCT *pCMD, FD_GEO_STRUCT *pFG)
 
 	return TRUE;
 }
-#endif
 
 #if defined(CONFIG_CMD_FDOS)
 
@@ -903,15 +900,6 @@ int do_fdcboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	return rcode;
 }
 
-
-#endif
-
-
-/***************************************************/
-
-
-#if defined(CONFIG_CMD_FDC)
-
 U_BOOT_CMD(
 	fdcboot,	3,	1,	do_fdcboot,
 	"fdcboot - boot from floppy device\n",