diff --git a/mester.cpp b/mester.cpp
index d7e1d2f9dc091ac1d2e39d4acb8359b81651c638..0901d21ceda2b6c0f0381f0a55a52fdf38c1b8a0 100644
--- a/mester.cpp
+++ b/mester.cpp
@@ -8,10 +8,14 @@ using namespace genv;
 Mester::Mester(Palya* _p) : p(_p) {}
 
 void Mester::iranyitas(Palyamezo* f, event ev) {
-    if(f->hozzaer(ev) && !f->filled)
+    if(f->hozzaer(ev) && !f->filled && !f->chosen){
         f->chosen_draw();
-    if(!f->hozzaer(ev) && !f->filled)
+        f->set_chosen();
+    }
+    if(!f->hozzaer(ev) && !f->filled && f->chosen){
         f->draw();
+        f->reset_chosen();
+    }
     if(f->select(ev) && !f->filled)
         lepes = true;
 }
diff --git a/palyamezo.cpp b/palyamezo.cpp
index 05d2efa139f39190fcc263179f68a8c5a579b2a2..bda2805f9d3759eaa39330000ccb29d4c58d12de 100644
--- a/palyamezo.cpp
+++ b/palyamezo.cpp
@@ -12,10 +12,19 @@ void Palyamezo::draw(){
     gout << move_to(x+1,y+1) << color(t,t,t) << box(w-2,h-2);
 }
 
-void Palyamezo::chosen_draw()
-{
+void Palyamezo::chosen_draw(){
     int t = 175;
     gout << move_to(x+1,y+1) << color(t,t,t) << box(w-2,h-2);
 }
 
+void Palyamezo::set_chosen(){
+    if(!chosen)
+        chosen = true;
+}
+
+void Palyamezo::reset_chosen(){
+    if(chosen)
+        chosen = false;
+}
+
 Palyamezo::~Palyamezo() {}
diff --git a/palyamezo.h b/palyamezo.h
index 85c6abddf394e2fee5d960de5e6881d9836ad976..af4b2d3c574aa3d188aaaa1c80729e514297b288 100644
--- a/palyamezo.h
+++ b/palyamezo.h
@@ -12,6 +12,9 @@ public:
     void draw() override;
     void chosen_draw();
     bool filled = false;
+    bool chosen = false;
+    void set_chosen();
+    void reset_chosen();
 };
 
 #endif // PALYAMEZO_H
diff --git a/widget.cpp b/widget.cpp
index 7684c8e8fa7b62b5d2263a4734eee704ca0665bc..61c0f6f10c9c874df015156ed0f2652ebd3e7b29 100644
--- a/widget.cpp
+++ b/widget.cpp
@@ -2,18 +2,16 @@
 
 using namespace genv;
 
-Widget::Widget(Palya* _p, int _x, int _y, int _w, int _h) : p(_p), x(_x), y(_y), w(_w), h(_h){}
+Widget::Widget(Palya* _p, int _x, int _y, int _w, int _h) : p(_p), x(_x), y(_y), w(_w), h(_h) {}
 
-bool Widget::hozzaer(event ev)
-{
+bool Widget::hozzaer(event ev){
     if(ev.pos_x > x && ev.pos_x < x+w && ev.pos_y < y+h && ev.pos_y > y)
         return true;
     else
         return false;
 }
 
-bool Widget::select(event ev)
-{
+bool Widget::select(event ev){
     if(hozzaer(ev) && ev.button==btn_left)
         return true;
     if(!hozzaer(ev) && ev.button==btn_left)
diff --git a/widget.h b/widget.h
index fedfd3a2c7ec70cc49f50504fdf18123f87052e8..437787a8c01f7ccf0ca7a689891508e4ffb1899f 100644
--- a/widget.h
+++ b/widget.h
@@ -4,7 +4,8 @@
 
 class Palya;
 
-class Widget{
+class Widget
+{
 protected:
     int x,y,w,h;
     Palya* p;