diff --git a/src/sbbs3/scfg/Makefile b/src/sbbs3/scfg/Makefile
index 69df8e66db608e8771a7661f813d5f8c47c58a9d..b864ec756600ac0f64b166959a6e41cb27a36d89 100644
--- a/src/sbbs3/scfg/Makefile
+++ b/src/sbbs3/scfg/Makefile
@@ -11,6 +11,7 @@
 # Macros
 #DEBUG	=	1				# Comment out for release (non-debug) version
 USE_FLTK=	1
+USE_UIFC32= 1
 CC		=	bcc32
 LD		=	ilink32
 SLASH	=	\\
@@ -48,7 +49,12 @@ ODIR	=	$(ODIR).release
 !include targets.mk	# defines all targets
 !include objects.mk	# defines $(OBJS)
 
+!ifdef USE_UIFC32
+OBJS = $(OBJS) $(ODIR)\uifc32.$(OFILE)
+CFLAGS  =   $(CFLAGS) -DUSE_UIFC32
+!else
 OBJS = $(OBJS) $(ODIR)\uifc.$(OFILE)
+!endif
 
 !ifdef USE_FLTK
 CFLAGS 	= $(CFLAGS) -DUSE_FLTK -I$(INCLUDE)\fltk
diff --git a/src/sbbs3/scfg/scfg.c b/src/sbbs3/scfg/scfg.c
index 8b33f82f0e9602b94f2788cc6f0d9089291a28b7..b8b54cc7f23c782436d863ee1872120fb9bd4256 100644
--- a/src/sbbs3/scfg/scfg.c
+++ b/src/sbbs3/scfg/scfg.c
@@ -210,11 +210,15 @@ else
 if(!door_mode)
     i=uifcinid(&uifc);  /* dialog */
 else
+#elif defined(USE_UIFC32)
+if(!door_mode)
+    i=uifcini32(&uifc);  /* curses/conio */
+else
 #elif defined(USE_CURSES)
 if(!door_mode)
     i=uifcinic(&uifc);  /* curses */
 else
-#elif !defined(__unix__) && !defined(_MSC_VER)
+#elif !defined(__unix__) && !defined(_MSC_VER) && !defined(USE_UIFC32)
 if(!door_mode)
     i=uifcini(&uifc);   /* conio */
 else