diff --git a/store/image.go b/store/image.go
index 42f52895477368c05872fa49bcc77d3e61abddbc..c4d3c400e8ca25a9bbd8e954cbf6301f030efa7d 100644
--- a/store/image.go
+++ b/store/image.go
@@ -439,7 +439,8 @@ func (s *Store) ImageDestroy(hash string) {
 
 // ImageTagAdd adds a tag to an image with specific snowflake.
 func (s *Store) ImageTagAdd(flake, tag string) {
-	if !nameRegex.MatchString(tag) || !s.flake(flake) || !s.dir(s.ImageTagsPath(flake)) || !s.dir(s.TagPath(tag)) {
+	if !nameRegex.MatchString(tag) || !s.flake(flake) || !s.dir(s.ImageTagsPath(flake)) || !s.dir(s.TagPath(tag)) ||
+		s.file(s.TagPath(tag)+"/"+flake) {
 		return
 	}