diff --git a/game/engines/default/engine/Store.lua b/game/engines/default/engine/Store.lua
index c60d031ce22a97419dc7ff8655b1e6ce8bf46f7b..b876f0828408bd3b27b3c9e36eee71eb470ca266 100644
--- a/game/engines/default/engine/Store.lua
+++ b/game/engines/default/engine/Store.lua
@@ -133,7 +133,7 @@ function _M:interact(who, name)
 		return self:descObject(who, what, o)
 	end, function(what, o)
 		return self:descObjectPrice(who, what, o)
-	end, self.allow_sell, self.allow_buy, function(item) self:on_select(item) end)
+	end, self.allow_sell, self.allow_buy, function(item) end)
 	game:registerDialog(d)
 end
 
diff --git a/game/engines/default/engine/ui/Dialog.lua b/game/engines/default/engine/ui/Dialog.lua
index 7e87627992a8e6abab924362d25511ec1a6b7ab7..24fa0240fdd24325eed4590853973140f2f427f0 100644
--- a/game/engines/default/engine/ui/Dialog.lua
+++ b/game/engines/default/engine/ui/Dialog.lua
@@ -366,6 +366,7 @@ function _M:setFocus(id)
 	self.focus_ui = ui
 	self.focus_ui_id = id
 	ui.ui:setFocus(true)
+	self:on_focus(id, ui)
 end
 
 function _M:moveUIElement(id, left, right, top, bottom)
@@ -401,7 +402,6 @@ function _M:moveFocus(v)
 	while start ~= id and cnt <= #self.uis do
 		if self.uis[id].ui.can_focus then
 			self:setFocus(id)
-			self:on_focus(id, self.uis[id].ui)
 			break
 		end
 		id = util.boundWrap(id + v, 1, #self.uis)