diff --git a/main.go b/main.go
index 27ab53d166219df158f82162515a8c4d131f3619..acf82b6de6c8fb6493d4eac15425ac5e3ebe6213 100644
--- a/main.go
+++ b/main.go
@@ -8,10 +8,15 @@ import (
 	"syscall"
 )
 
-var server = http.Server{}
-var serverConfig map[string]interface{}
-var systemConfig map[string]interface{}
-var executable string
+var (
+	serverConfig map[string]interface{}
+	systemConfig map[string]interface{}
+)
+
+var (
+	server     = http.Server{}
+	executable string
+)
 
 var (
 	r bool
diff --git a/store/image.go b/store/image.go
index 95b5c1d181277a39c57f738c4dee123015d72533..8daae1c5069ad007e68914b6733006937a9d68de 100644
--- a/store/image.go
+++ b/store/image.go
@@ -315,7 +315,7 @@ func (s *Store) ImageUpdate(hash, source, parent, commentary, commentaryTranslat
 		info.Source = source
 		msg += "source"
 	}
-	if parent != "\000" && parent != "" {
+	if parent != "\000" && parent != "" && parent != info.Snowflake {
 		if p := s.ImageSnowflake(parent); p.Snowflake == parent {
 			s.getLock(p.Hash).Lock()
 			defer s.getLock(p.Hash).Unlock()