diff --git a/src/Main/FGManipulator.cxx b/src/Main/FGManipulator.cxx
index bf6935de4..492f17966 100644
--- a/src/Main/FGManipulator.cxx
+++ b/src/Main/FGManipulator.cxx
@@ -43,6 +43,9 @@ FGManipulator::FGManipulator() :
     numlockKeyMap[GUIEventAdapter::KEY_KP_Home] = '7';
     numlockKeyMap[GUIEventAdapter::KEY_KP_Up] = '8';
     numlockKeyMap[GUIEventAdapter::KEY_KP_Page_Up] = '9';
+
+    for (int i = 0; i < 128; i++)
+        release_keys[i] = i;
 }
 
 void FGManipulator::setByMatrix(const osg::Matrixd& matrix)
@@ -278,7 +281,7 @@ void FGManipulator::handleKey(const osgGA::GUIEventAdapter& ea, int& key,
 	modifiers |= KEYMOD_RELEASED;
 
     // Release the letter key, for which the keypress was reported
-    if (key >= 0 && key < int(sizeof(release_keys))) {
+    if (key >= 0 && key < 128) {
         if (modifiers & KEYMOD_RELEASED) {
             key = release_keys[key];
         } else {