diff --git a/arch/arm/plat-s3c/clock.c b/arch/arm/plat-s3c/clock.c
index 35249b58f3837f41cac2d63c36944d2f31a87ce1..da7ac07c7a0b055435724a35c7f76b27fcb7a619 100644
--- a/arch/arm/plat-s3c/clock.c
+++ b/arch/arm/plat-s3c/clock.c
@@ -304,6 +304,9 @@ int s3c24xx_register_clock(struct clk *clk)
 
 	/* add to the list of available clocks */
 
+	/* Quick check to see if this clock has already been registered. */
+	BUG_ON(clk->list.prev != clk->list.next);
+
 	spin_lock(&clocks_lock);
 	list_add(&clk->list, &clocks);
 	spin_unlock(&clocks_lock);