diff --git a/src/cmd/ksh93/sh/init.c b/src/cmd/ksh93/sh/init.c
index 275c3fd14..6c26bb7a8 100644
--- a/src/cmd/ksh93/sh/init.c
+++ b/src/cmd/ksh93/sh/init.c
@@ -49,6 +49,27 @@
#include "lexstates.h"
#include "version.h"
+#ifdef BUILD_DTKSH
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "dtksh.h"
+#include "xmksh.h"
+#include "dtkcmds.h"
+#include "xmcvt.h"
+#include "widget.h"
+#include "extra.h"
+#include "xmwidgets.h"
+#include "msgs.h"
+#endif /* BUILD_DTKSH */
+
#if _hdr_wctype
#include
#include
@@ -1480,6 +1501,16 @@ Shell_t *sh_init(register int argc,register char *argv[], Shinit_f userinit)
shp->errtrap = 0;
shp->end_fn = 0;
error_info.exit = sh_exit;
+#ifdef BUILD_DTKSH
+ {
+ int *lockedFds = LockKshFileDescriptors();
+ (void) XtSetLanguageProc((XtAppContext)NULL, (XtLanguageProc)NULL, (XtPointer)NULL);
+ DtNlInitialize();
+ _DtEnvControl(DT_ENV_SET);
+ UnlockKshFileDescriptors(lockedFds);
+ dtksh_init();
+ }
+#endif /* BUILD_DTKSH */
return(shp);
}