diff --git a/source/client/GameController.cpp b/source/client/GameController.cpp
index 5a00cd6bc8e54845930921132edfd8e45357f337..e3aa5e1967bad1f9440094bc52064f90b3436744 100644
--- a/source/client/GameController.cpp
+++ b/source/client/GameController.cpp
@@ -87,17 +87,33 @@ void GameController::connectToServer() {
 
 }
 
+bool GameController::_is_number(const wxString s){
+    return !s.empty() && std::find_if(s.begin(), 
+        s.end(), [](unsigned char c) { return !std::isdigit(c); }) == s.end();
+}
+
 void GameController::makeBet() {
+    int bet_int;
+
     wxString inputPlayerBet = GameController::_betPanel->getBetSize().Trim();
 
+    if (!GameController::_is_number(inputPlayerBet)) {
+      GameController::showError("Input error", "Please enter numeric");
+      bet_int = 0;
+      return;
+    }
+
     // recovery?
     if(inputPlayerBet.IsEmpty()) {
         GameController::showError("Input error", "Please enter your bet");
+        bet_int = 0;
         return;
     }
 
-    std::string bet_string = inputPlayerBet.ToStdString();
-    int bet_int = std::stoi(bet_string);
+    if(_is_number(inputPlayerBet) && !inputPlayerBet.IsEmpty()){
+        std::string bet_string = inputPlayerBet.ToStdString();
+        int bet_int = std::stoi(bet_string);
+    }
 
     // check to make sure this in a logical integer + ADD RECOVERY (SHOW BET PANEL AGAIN)
     if(bet_int < game_state::_min_bet && bet_int > 4096) {
@@ -177,7 +193,7 @@ void GameController::updateGameState(game_state* newGameState) {
     if (GameController::_previous_game_state != nullptr && (GameController::_previous_game_state->everyone_finished() && newGameState->round_begin())) {
         GameController::_gameWindow->showPanel(GameController::_mainGamePanel);
         GameController::_mainGamePanel->buildGameState(GameController::_previous_game_state, GameController::_me);
-    } else if (_me->get_bet_size() == 0 && GameController::_current_game_state->is_started()) {
+    } else if (_me->get_bet_size() == 0 && GameController::_current_game_state->is_started() ) {
         GameController::_betPanel = new BetPanel(_gameWindow, GameController::_current_game_state, GameController::_me);
         GameController::_gameWindow->showPanel(GameController::_betPanel);
     } else {