diff --git a/android/gradle.properties b/android/gradle.properties
index 6c1d873456149a8611e43a05ae56e4f50c73274f..24add27a90a4accaf6a1ee28ec651d0d6bda4f8e 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=0.0.19
-app.versionCode=19
+app.versionName=0.0.20
+app.versionCode=20
diff --git a/lib/entities/cell.dart b/lib/entities/cell.dart
index 4632c96fe9d929597b9ed51ab71c1ce2b59e4115..f8911de01c6e76945db1529dfe8926c8fd6bf738 100644
--- a/lib/entities/cell.dart
+++ b/lib/entities/cell.dart
@@ -35,7 +35,7 @@ class Cell {
         ),
         onTap: () {
           if (col != null && row != null) {
-            if (!this.isFixed && (col != myProvider.currentCellCol || row != myProvider.currentCellRow)) {
+            if (col != myProvider.currentCellCol || row != myProvider.currentCellRow) {
               myProvider.selectCell(col, row);
             } else {
               myProvider.selectCell(null, null);
@@ -51,6 +51,8 @@ class Cell {
     Color editableCellColorConflict = Colors.pink[100];
     Color fixedCellColor = Colors.grey[300];
     Color fixedCellColorConflict = Colors.pink[200];
+    Color editableSelectedValueColor = Colors.green[100];
+    Color fixedSelectedValueColor = Colors.green[300];
 
     Color backgroundColor = editableCellColor;
 
@@ -66,6 +68,14 @@ class Cell {
       }
     }
 
+    if (myProvider.showConflicts && (this.value == myProvider.currentCellValue)) {
+      if (this.isFixed) {
+        backgroundColor = fixedSelectedValueColor;
+      } else {
+        backgroundColor = editableSelectedValueColor;
+      }
+    }
+
     return backgroundColor;
   }
 
diff --git a/lib/layout/game.dart b/lib/layout/game.dart
index 6b09b41129a308d7fcb666bdb6a921479a19b669..60f7727392b1ecdc5b71a0e68fde416f5a931b1b 100644
--- a/lib/layout/game.dart
+++ b/lib/layout/game.dart
@@ -30,6 +30,7 @@ class Game {
     Color borderColor = Colors.blue;
 
     bool isCellSelected = (myProvider.currentCellCol != null && myProvider.currentCellRow != null);
+    bool isUpdatableCellSelected = isCellSelected ? !myProvider.cells[myProvider.currentCellRow][myProvider.currentCellCol].isFixed : false;
     int maxValue = myProvider.blockSizeHorizontal * myProvider.blockSizeVertical;
 
     return Container(
@@ -45,7 +46,7 @@ class Game {
                 Column(
                   children: [
                     Cell(
-                      isCellSelected ? value : 0,
+                      isUpdatableCellSelected ? value : 0,
                       false
                     ).widgetUpdateValue(myProvider)
                   ]
diff --git a/lib/provider/data.dart b/lib/provider/data.dart
index 0225b29c001a8cc7671f8ef7ba95b0a9bf6a29e1..a4adb6f36ac3ad741afe9b014aad96b8def0f7e6 100644
--- a/lib/provider/data.dart
+++ b/lib/provider/data.dart
@@ -24,6 +24,7 @@ class Data extends ChangeNotifier {
   List _cells = [];
   int _currentCellCol = null;
   int _currentCellRow = null;
+  int _currentCellValue = null;
 
   String get level => _level;
   set updateLevel(String level) {
@@ -104,9 +105,21 @@ class Data extends ChangeNotifier {
     notifyListeners();
   }
 
+  int get currentCellValue => _currentCellValue;
+  set updateCurrentCellValue(int currentCellValue) {
+    _currentCellValue = currentCellValue;
+    notifyListeners();
+  }
+
   selectCell(int col, int row) {
     _currentCellCol = col;
     _currentCellRow = row;
+    _currentCellValue = null;
+    if (row != null && col != null) {
+      if (_cells[row][col].value != 0) {
+        _currentCellValue = _cells[row][col].value;
+      }
+    }
     notifyListeners();
   }