diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c
index 11151eaa2c4a2de3f2deb4797a0bc81177100efb..122dc1e489fb2ccecc3acb3bd8dd4bebc7cf3b11 100644
--- a/fs/nilfs2/super.c
+++ b/fs/nilfs2/super.c
@@ -391,6 +391,8 @@ static int nilfs_sync_fs(struct super_block *sb, int wait)
 {
 	int err = 0;
 
+	nilfs_write_super(sb);
+
 	/* This function is called when super block should be written back */
 	if (wait)
 		err = nilfs_construct_segment(sb);