diff --git a/test/java/awt/event/KeyEvent/DeadKey/DeadKeyMacOSXInputText.java b/test/java/awt/event/KeyEvent/DeadKey/DeadKeyMacOSXInputText.java
index 6686733..722b9ad 100644
--- a/test/java/awt/event/KeyEvent/DeadKey/DeadKeyMacOSXInputText.java
+++ b/test/java/awt/event/KeyEvent/DeadKey/DeadKeyMacOSXInputText.java
@@ -99,13 +99,10 @@
                     state++;
                     break;
                 case 1:
-                    if (keyCode != KeyEvent.VK_DEAD_ACUTE) {
-                        throw new RuntimeException("Dead ACUTE is not pressed.");
+                    if (keyCode != KeyEvent.VK_E) {
+                        throw new RuntimeException("E is not pressed.");
                     }
-                    // We are sending char that is written on the keyboard key.
-                    //if (keyChar != 0xB4) {
-                    //    throw new RuntimeException("Pressed char is not dead acute.");
-                    //}
+
                     state++;
                     break;
             }
diff --git a/test/java/awt/event/KeyEvent/DeadKey/deadKeyMacOSX.java b/test/java/awt/event/KeyEvent/DeadKey/deadKeyMacOSX.java
index a47719c..afce1a3 100644
--- a/test/java/awt/event/KeyEvent/DeadKey/deadKeyMacOSX.java
+++ b/test/java/awt/event/KeyEvent/DeadKey/deadKeyMacOSX.java
@@ -95,13 +95,9 @@
                     state++;
                     break;
                 case 1:
-                    if (keyCode != KeyEvent.VK_DEAD_ACUTE) {
-                        throw new RuntimeException("Dead ACUTE is not pressed.");
+                    if (keyCode != KeyEvent.VK_E) {
+                        throw new RuntimeException("E is not pressed.");
                     }
-                    // We should not send dead key char here
-                    //if (keyChar != 0xB4) {
-                    //    throw new RuntimeException("Pressed char is not dead acute.");
-                    //}
 
                     state++;
                     break;
@@ -109,10 +105,6 @@
                     if (keyCode != KeyEvent.VK_A) {
                         throw new RuntimeException("A is not pressed.");
                     }
-                    // We should not send dead key char here
-                    //if (keyChar != 0xE1) {
-                    //    throw new RuntimeException("A char does not have ACCUTE accent");
-                    //}
                     state++;
                     break;
                 default:
@@ -127,15 +119,15 @@
 
             if (state == 3) {
                 // Now we send key codes
-//                if (keyCode != 0) {
-//                    throw new RuntimeException("Key code should be undefined.");
-//                }
+                if (keyCode != KeyEvent.VK_A) {
+                    throw new RuntimeException("Key code should be undefined.");
+                }
                 // This works for US keyboard only
                 if (keyChar != 0xE1) {
                     throw new RuntimeException("A char does not have ACCUTE accent");
                 }
             } else {
-                throw new RuntimeException("Wron number of keyTyped events.");
+                throw new RuntimeException("Wrong number of keyTyped events.");
             }
         }
     }
