diff --git a/Nasal/controls.nas b/Nasal/controls.nas
index e8b8e864b..246d22e45 100644
--- a/Nasal/controls.nas
+++ b/Nasal/controls.nas
@@ -314,3 +314,4 @@ elevatorTrimAxis = func { elevatorTrim(cmdarg().getNode("value").getValue()); }
aileronTrimAxis = func { aileronTrim(cmdarg().getNode("value").getValue()); }
rudderTrimAxis = func { rudderTrim(cmdarg().getNode("value").getValue()); }
+gearDown = func { setprop("/controls/gear/gear-down", arg[0]); }
diff --git a/keyboard.xml b/keyboard.xml
index 057626b62..ae5fe3a2b 100644
--- a/keyboard.xml
+++ b/keyboard.xml
@@ -532,9 +532,8 @@ calculated by adding 256 to the GLUT key value in glut.h.
G
Gear down.
- property-assign
- /controls/gear/gear-down
- 1.0
+ nasal
+
@@ -700,9 +699,8 @@ calculated by adding 256 to the GLUT key value in glut.h.
g
Gear Up.
- property-assign
- /controls/gear/gear-down
- 0.0
+ nasal
+