diff --git a/drivers/block/systemace.c b/drivers/block/systemace.c
index 247cf060e43ef4695cb4f5e81dd200ba0105c511..87c6cbc6a0fbb9024efc68b7715e9e45c61bef15 100644
--- a/drivers/block/systemace.c
+++ b/drivers/block/systemace.c
@@ -65,8 +65,8 @@ static void ace_writew(u16 val, unsigned off)
 		writeb(val, base + off);
 		writeb(val >> 8, base + off + 1);
 #endif
-	}
-	out16(base + off, val);
+	} else
+		out16(base + off, val);
 }
 
 static u16 ace_readw(unsigned off)