diff --git a/android/gradle.properties b/android/gradle.properties
index 27d2e182d9d1b61241538ad078465bb4f7f6ddbb..eb8b18b0461ab60ff6b2d6fd904ef8f647d8adbb 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -1,5 +1,5 @@
 org.gradle.jvmargs=-Xmx1536M
 android.useAndroidX=true
 android.enableJetifier=true
-app.versionName=1.2.13
-app.versionCode=19
+app.versionName=1.2.14
+app.versionCode=20
diff --git a/lib/provider/data.dart b/lib/provider/data.dart
index bf343bd1c7681e3d3b1d40067a8bf0b2bf531db9..8f39c4ba5e8f17988950cb3947d35ccf6df4a537 100644
--- a/lib/provider/data.dart
+++ b/lib/provider/data.dart
@@ -55,6 +55,14 @@ class Data extends ChangeNotifier {
     return '';
   }
 
+  bool isCategoryRecentlyPicked(String category) {
+    return _recentCategories.contains(category);
+  }
+
+  bool isLetterRecentlyPicked(String letter) {
+    return _recentLetters.contains(letter);
+  }
+
   int get countdown => _countdown;
   void updateCountdown(int value) {
     _countdown = value;
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index a6d86a49bb9b4b3d107564b706180cfa7260a2e2..781080eb21dfbc6daea30c60699309824d2fd2d5 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -56,13 +56,17 @@ class Home extends StatelessWidget {
     do {
       randomPickCategory = RandomPickCategory();
       await randomPickCategory.init();
-      if (randomPickCategory.category != null) {
+      if (
+        randomPickCategory.category != null
+        &&
+        !myProvider.isCategoryRecentlyPicked(randomPickCategory.category)
+      ) {
         myProvider.updateCategory(randomPickCategory.category);
         myProvider.setSearchingCategory(false);
         break;
       }
       attempts++;
-    } while (attempts < 3);
+    } while (attempts < 10);
   }
 
   Future<void> pickLetter(Data myProvider) async {
@@ -72,13 +76,17 @@ class Home extends StatelessWidget {
     do {
       randomPickLetter = RandomPickLetter();
       await randomPickLetter.init();
-      if (randomPickLetter.letter != null) {
+      if (
+        randomPickLetter.letter != null
+        &&
+        !myProvider.isLetterRecentlyPicked(randomPickLetter.letter)
+      ) {
         myProvider.updateLetter(randomPickLetter.letter);
         myProvider.setSearchingLetter(false);
         break;
       }
       attempts++;
-    } while (attempts < 3);
+    } while (attempts < 10);
   }
 
   Color darken(Color baseColor, {double amount = 0.2}) {