diff --git a/game/engine/Map.lua b/game/engine/Map.lua
index 87e456822f32f42fa1d342290bf65a61e2b6650a..00e4d5e8f93ea84b9987c9d8b8b762b2406bab31 100644
--- a/game/engine/Map.lua
+++ b/game/engine/Map.lua
@@ -71,7 +71,6 @@ function _M:init(w, h)
 	self.seens = {}
 	self.remembers = {}
 	self.effects = {}
-	self.particles = {}
 	for i = 0, w * h - 1 do self.map[i] = {} end
 
 	self:loaded()
@@ -86,9 +85,11 @@ function _M:save()
 		_map = true,
 		surface = true,
 		particle = true,
+		particles = true,
 	})
 end
 function _M:loaded()
+	self.particles = {}
 	self.particle = core.display.loadImage("/data/gfx/particle.png"):glTexture()
 
 	self._map = core.map.newMap(self.w, self.h, self.mx, self.my, self.viewport.mwidth, self.viewport.mheight, self.tile_w, self.tile_h, self.multidisplay)