diff --git a/Nasal/pushback.nas b/Nasal/pushback.nas
deleted file mode 100644
index 9a8b8c91b..000000000
--- a/Nasal/pushback.nas
+++ /dev/null
@@ -1,20 +0,0 @@
-# Pushback
-# =============================================================================
-# Creates an object to move the pushback to or out of the towing position.
-# Needs  /sim/model/pushback to exist in order to be executed.
-
-var tractor = nil;
-
-var tractor_init = func() {
-	var pushback_node = props.globals.getNode("sim/model/pushback");
-	if (pushback_node != nil) {
-		tractor = aircraft.door.new("sim/model/pushback", 10.0);
-	}
-}
-
-
-var tractor_connect = func() {
-	tractor.toggle();
-}
-
-_setlistener("/sim/signals/nasal-dir-initialized", func { tractor_init() });
diff --git a/gui/dialogs/pushback.xml b/gui/dialogs/pushback.xml
index bccc4984e..6da725e18 100644
--- a/gui/dialogs/pushback.xml
+++ b/gui/dialogs/pushback.xml
@@ -3,6 +3,14 @@
 
    <name>pushback</name>
    <layout>vbox</layout>
+   <nasal>
+     <open>
+       var pushback_position = aircraft.door.new("sim/model/pushback", 10.0);
+       pushback_position.setpos(pushback_position.getpos());
+       props.globals.initNode("/sim/model/pushback/enabled", 0, "BOOL" );
+       props.globals.initNode("/sim/model/pushback/magnitude", 0.0  );
+     </open>
+   </nasal>
 
     <group>
      <layout>hbox</layout>
@@ -48,7 +56,7 @@
       <property>/sim/model/pushback/position-norm</property>
       <binding>
        <command>nasal</command>
-       <script>pushback.tractor_connect();</script>
+       <script>pushback_position.toggle();</script>
       </binding>
     </checkbox>