diff --git a/gui/themes/customtheme.zip b/gui/themes/customtheme.zip
index e85c0b17e5c..a1fc058f13a 100644
Binary files a/gui/themes/customtheme.zip and b/gui/themes/customtheme.zip differ
diff --git a/gui/themes/customtheme/button_load.bmp b/gui/themes/customtheme/button_load.bmp
new file mode 100644
index 00000000000..26360f08761
Binary files /dev/null and b/gui/themes/customtheme/button_load.bmp differ
diff --git a/gui/themes/customtheme/button_load.svg b/gui/themes/customtheme/button_load.svg
new file mode 100644
index 00000000000..c2004cf034e
--- /dev/null
+++ b/gui/themes/customtheme/button_load.svg
@@ -0,0 +1,52 @@
+
+
diff --git a/gui/themes/customtheme/button_options.bmp b/gui/themes/customtheme/button_options.bmp
new file mode 100644
index 00000000000..d815cb3e81b
Binary files /dev/null and b/gui/themes/customtheme/button_options.bmp differ
diff --git a/gui/themes/customtheme/button_options.svg b/gui/themes/customtheme/button_options.svg
new file mode 100644
index 00000000000..2b9e70369fb
--- /dev/null
+++ b/gui/themes/customtheme/button_options.svg
@@ -0,0 +1,40 @@
+
+
diff --git a/gui/themes/customtheme/button_play.bmp b/gui/themes/customtheme/button_play.bmp
new file mode 100644
index 00000000000..344c5fe2102
Binary files /dev/null and b/gui/themes/customtheme/button_play.bmp differ
diff --git a/gui/themes/customtheme/button_play.svg b/gui/themes/customtheme/button_play.svg
new file mode 100644
index 00000000000..19f6c85a4e5
--- /dev/null
+++ b/gui/themes/customtheme/button_play.svg
@@ -0,0 +1,43 @@
+
+
diff --git a/gui/themes/customtheme/grid_gfx.stx b/gui/themes/customtheme/grid_gfx.stx
index 6c3e7f766f0..a79ae93816f 100644
--- a/gui/themes/customtheme/grid_gfx.stx
+++ b/gui/themes/customtheme/grid_gfx.stx
@@ -132,6 +132,9 @@
+
+
+
diff --git a/gui/widgets/grid.cpp b/gui/widgets/grid.cpp
index f8490deee07..47431f5dbce 100644
--- a/gui/widgets/grid.cpp
+++ b/gui/widgets/grid.cpp
@@ -133,9 +133,13 @@ void GridItemWidget::handleMouseDown(int x, int y, int button, int clickCount) {
int buttonWidth = tray->getWidth() / 4;
int buttonHeight = tray->getHeight() / 2;
- ButtonWidget *playButton = new ButtonWidget(tray, (buttonWidth / 4), buttonHeight / 2, buttonWidth, buttonHeight, U32String("Play"), U32String(), kStartCmd);
- ButtonWidget *loadButton = new ButtonWidget(tray, buttonWidth + 2*(buttonWidth / 4), buttonHeight / 2, buttonWidth, buttonHeight, U32String("Saves"), U32String(), kLoadGameCmd);
- ButtonWidget *editButton = new ButtonWidget(tray, 2*buttonWidth + 3*(buttonWidth / 4), buttonHeight / 2, buttonWidth, buttonHeight, U32String("Edit"), U32String(), kEditGameCmd);
+ PicButtonWidget *playButton = new PicButtonWidget(tray, (buttonWidth / 4), buttonHeight / 2, buttonWidth, buttonHeight, U32String("Play"), kStartCmd);
+ PicButtonWidget *loadButton = new PicButtonWidget(tray, buttonWidth + 2*(buttonWidth / 4), buttonHeight / 2, buttonWidth, buttonHeight, U32String("Saves"), kLoadGameCmd);
+ PicButtonWidget *editButton = new PicButtonWidget(tray, 2*buttonWidth + 3*(buttonWidth / 4), buttonHeight / 2, buttonWidth, buttonHeight, U32String("Edit"), kEditGameCmd);
+
+ playButton->setGfxFromTheme("button_play.bmp");
+ loadButton->setGfxFromTheme("button_load.bmp");
+ editButton->setGfxFromTheme("button_options.bmp");
// playButton->markAsDirty();
tray->runModal();
}