diff --git a/iocBoot/iocxxx/common.iocsh b/iocBoot/iocxxx/common.iocsh
index b0f57dfde4ab510970412b2817311b76437c09c9..833c311e2bd294b74c1729b96e4d2df130dfa736 100644
--- a/iocBoot/iocxxx/common.iocsh
+++ b/iocBoot/iocxxx/common.iocsh
@@ -1,30 +1,17 @@
-##########################  ############################################################################
-# environment variable      description
-##########################  ############################################################################
-# PREFIX		    prefix used for all PVs in this IOC
-# EPICS_DB_INCLUDE_PATH     search path for database files
-# EPICS_CA_MAX_ARRAY_BYTES  Specify largest array CA will transport
-# IOCBOOT		    absolute directory path in which this file is located
-##########################  ############################################################################
+# prefix used for all PVs in this IOC
+epicsEnvSet("PREFIX", "xxx:")
+
 #For devIocStats
 epicsEnvSet("ENGINEER", "engineer")
 epicsEnvSet("LOCATION", "location")
 epicsEnvSet("GROUP", "group")
 
-epicsEnvSet("PREFIX", "xxx:")
-
-### For alive
-epicsEnvSet("IOCBOOT", $(TOP)/iocBoot/$(IOC))
-
+# search path for database files
 epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(DEVIOCSTATS)/db")
 
 # set the protocol path for streamDevice
 epicsEnvSet("STREAM_PROTOCOL_PATH", ".")
 
-# save_restore.cmd needs the full path to the startup directory, which
-# envPaths currently does not provide
-epicsEnvSet(STARTUP,$(TOP)/iocBoot/$(IOC))
-
 # Specify largest array CA will transport
 # Note for N doubles, need N*8 bytes+some overhead
 epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 64010
@@ -46,9 +33,9 @@ dbLoadRecords("$(STD)/stdApp/Db/ramp_tweak.db","P=$(PREFIX),Q=rt1")
 # < $(PLATFORM)/areaDetector.cmd
 
 # Motors
-dbLoadTemplate("$(PLATFORM)/motor.substitutions", "P=$(PREFIX)")
-#dbLoadTemplate("common/softMotor.substitutions", "P=$(PREFIX)")
-#dbLoadTemplate("common/pseudoMotor.substitutions", "P=$(PREFIX)")
+dbLoadTemplate("substitutions/motor.substitutions", "P=$(PREFIX)")
+#dbLoadTemplate("substitutions/softMotor.substitutions", "P=$(PREFIX)")
+#dbLoadTemplate("substitutions/pseudoMotor.substitutions", "P=$(PREFIX)")
 
 # Allstop, alldone
 iocshLoad("$(MOTOR)/iocsh/allstop.iocsh", "P=$(PREFIX)")
@@ -87,9 +74,6 @@ dbLoadTemplate("$(PLATFORM)/scanParms.substitutions")
 # Soft scaler for testing
 #iocshLoad("$(STD)/iocsh/softScaler.iocsh", "P=$(PREFIX), INSTANCE=scaler1")
 
-# Soft function generator
-#dbLoadRecords("$(CALC)/calcApp/Db/FuncGen.db","P=$(PREFIX),Q=fgen,OUT=$(PREFIX)m7.VAL")
-
 # 4-step measurement
 dbLoadRecords("$(STD)/stdApp/Db/4step.db", "P=$(PREFIX),Q=4step:")
 
@@ -103,9 +87,9 @@ dbLoadRecords("$(STD)/stdApp/Db/pvHistory.db","P=$(PREFIX),N=1,MAXSAMPLES=1440")
 dbLoadRecords("$(STD)/stdApp/Db/timer.db","P=$(PREFIX),N=1")
 
 # Slow feedback
-dbLoadTemplate("common/pid_slow.substitutions")
-dbLoadTemplate("$(PLATFORM)/async_pid_slow.substitutions")
-#dbLoadTemplate("common/fb_epid.substitutions")
+#dbLoadTemplate("substitutions/pid_slow.substitutions")
+#dbLoadTemplate("substitutions/async_pid_slow.substitutions")
+#dbLoadTemplate("substitutions/fb_epid.substitutions")
 
 # Miscellaneous PV's, such as burtResult
 dbLoadRecords("$(STD)/stdApp/Db/misc.db","P=$(PREFIX)")
diff --git a/iocBoot/iocxxx/common/optics.iocsh b/iocBoot/iocxxx/common/optics.iocsh
index b95ca09699c94fb60a5f2623ca1d4bc21602d2aa..f7823d04eaf6d3db4e4cb5e9a7356ad72b6fdbcc 100644
--- a/iocBoot/iocxxx/common/optics.iocsh
+++ b/iocBoot/iocxxx/common/optics.iocsh
@@ -47,7 +47,7 @@ dbLoadRecords("$(DIR)/table.db","P=$(PREFIX),Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y
 #iocshLoad("$(OPTICS)/iocsh/ml_mono.iocsh", "PREFIX=$(PREFIX), M_THETA=m1, M_THETA2=m2, M_Y=m3, M_Z=m4, YOFF=35., GEOM=1")
 
 ### Orientation matrix, four-circle diffractometer (see seq program 'orient' below)
-#iocshLoad("$(OPTICS)/iocsh/orient.iocsh", "PREFIX=$(PREFIX), INSTANCE=1, M_TTH=m9, M_TH=m10, M_CHI=m11, M_PHI=m12, SUB=common/orient_xtals.substitutions")
+#iocshLoad("$(OPTICS)/iocsh/orient.iocsh", "PREFIX=$(PREFIX), INSTANCE=1, M_TTH=m9, M_TH=m10, M_CHI=m11, M_PHI=m12, SUB=substitutions/orient_xtals.substitutions")
 
 # Coarse/Fine stage
 #dbLoadRecords("$(OPTICS)/opticsApp/Db/CoarseFineMotor.db","P=$(PREFIX)cf1:,PM=$(PREFIX),CM=m7,FM=m8")
@@ -56,4 +56,4 @@ dbLoadRecords("$(DIR)/table.db","P=$(PREFIX),Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y
 #iocshLoad("$(OPTICS)/iocsh/pf4filters.iocsh", "PREFIX=$(PREFIX), INSTANCE=pf4")
 
 ### Load database records for alternative PF4-filter support
-#iocshLoad("$(OPTICS)/iocsh/filterDrive.iocsh", "PREFIX=$(PREFIX), INSTANCE=filter, KEV=$(PREFIX)userCalc1.A, NUM_FILTERS=16, SUB=common/filter.substitutions")
+#iocshLoad("$(OPTICS)/iocsh/filterDrive.iocsh", "PREFIX=$(PREFIX), INSTANCE=filter, KEV=$(PREFIX)userCalc1.A, NUM_FILTERS=16, SUB=substitutions/filter.substitutions")
diff --git a/iocBoot/iocxxx/softioc/motor.substitutions b/iocBoot/iocxxx/softioc/motor.substitutions
deleted file mode 100644
index 31eece08a1b08ffc892765d0f75be6ffe2720833..0000000000000000000000000000000000000000
--- a/iocBoot/iocxxx/softioc/motor.substitutions
+++ /dev/null
@@ -1,12 +0,0 @@
-file "$(MOTOR)/db/motor.db"
-{
-pattern
-{N, M,       DTYP,         C, S, DESC,          EGU,    DIR,	VELO, VBAS, ACCL, BDST, BVEL, BACC, MRES, PREC, DHLM, DLLM, INIT}
-{1, "m$(N)", "MM4000",     0, 0, "motor $(N)", degrees, Pos, 10,    0.,   1.,   0,    1,    .2,   1e-3, 3,    100,  -100, ""}
-{2, "m$(N)", "MM4000",     0, 1, "motor $(N)", degrees, Pos, 60,    0.,   1.5,  0,    1,    .2,   1e-3, 3,    100,  -100, ""}
-{3, "m$(N)", "MM4000",     0, 2, "motor $(N)", degrees, Pos, 60,    0.,   1.,   0,    1,    .2,   1e-3, 3,    100,  -100, ""}
-{4, "m$(N)", "ACS MCB-4B", 0, 0, "motor $(N)", steps,   Pos, 1000., 1,   .2,    0,    1,    .2,   1,    1,    1e6,  -1e6, ""}
-{5, "m$(N)", "ACS MCB-4B", 0, 1, "motor $(N)", degrees, Pos, 1000., 1,   .2,    0,    1,    .2,   1,    1,    100,  -100, ""}
-{6, "m$(N)", "ACS MCB-4B", 0, 2, "motor $(N)", degrees, Pos, 1000., 1,   .2,    0,    1,    .2,   1,    1,    100,  -100, ""}
-{7, "m$(N)", "ACS MCB-4B", 0, 3, "motor $(N)", degrees, Pos, 1000., 1,   .2,    0,    1,    .2,   1,    1,    100,  -100, ""}
-}
diff --git a/iocBoot/iocxxx/common/async_pid_slow.substitutions b/iocBoot/iocxxx/substitutions/async_pid_slow.substitutions
similarity index 100%
rename from iocBoot/iocxxx/common/async_pid_slow.substitutions
rename to iocBoot/iocxxx/substitutions/async_pid_slow.substitutions
diff --git a/iocBoot/iocxxx/vxWorks/dac128V.substitutions b/iocBoot/iocxxx/substitutions/dac128V.substitutions
similarity index 100%
rename from iocBoot/iocxxx/vxWorks/dac128V.substitutions
rename to iocBoot/iocxxx/substitutions/dac128V.substitutions
diff --git a/iocBoot/iocxxx/common/fb_epid.substitutions b/iocBoot/iocxxx/substitutions/fb_epid.substitutions
similarity index 100%
rename from iocBoot/iocxxx/common/fb_epid.substitutions
rename to iocBoot/iocxxx/substitutions/fb_epid.substitutions
diff --git a/iocBoot/iocxxx/common/filter.substitutions b/iocBoot/iocxxx/substitutions/filter.substitutions
similarity index 100%
rename from iocBoot/iocxxx/common/filter.substitutions
rename to iocBoot/iocxxx/substitutions/filter.substitutions
diff --git a/iocBoot/iocxxx/vxWorks/ip330PIDFast.substitutions b/iocBoot/iocxxx/substitutions/ip330PIDFast.substitutions
similarity index 100%
rename from iocBoot/iocxxx/vxWorks/ip330PIDFast.substitutions
rename to iocBoot/iocxxx/substitutions/ip330PIDFast.substitutions
diff --git a/iocBoot/iocxxx/vxWorks/ip330Scan.substitutions b/iocBoot/iocxxx/substitutions/ip330Scan.substitutions
similarity index 100%
rename from iocBoot/iocxxx/vxWorks/ip330Scan.substitutions
rename to iocBoot/iocxxx/substitutions/ip330Scan.substitutions
diff --git a/iocBoot/iocxxx/vxWorks/ipUnidig.substitutions b/iocBoot/iocxxx/substitutions/ipUnidig.substitutions
similarity index 100%
rename from iocBoot/iocxxx/vxWorks/ipUnidig.substitutions
rename to iocBoot/iocxxx/substitutions/ipUnidig.substitutions
diff --git a/iocBoot/iocxxx/vxWorks/motor.substitutions b/iocBoot/iocxxx/substitutions/motor.substitutions
similarity index 100%
rename from iocBoot/iocxxx/vxWorks/motor.substitutions
rename to iocBoot/iocxxx/substitutions/motor.substitutions
diff --git a/iocBoot/iocxxx/common/orient_xtals.substitutions b/iocBoot/iocxxx/substitutions/orient_xtals.substitutions
similarity index 100%
rename from iocBoot/iocxxx/common/orient_xtals.substitutions
rename to iocBoot/iocxxx/substitutions/orient_xtals.substitutions
diff --git a/iocBoot/iocxxx/common/pid_slow.substitutions b/iocBoot/iocxxx/substitutions/pid_slow.substitutions
similarity index 100%
rename from iocBoot/iocxxx/common/pid_slow.substitutions
rename to iocBoot/iocxxx/substitutions/pid_slow.substitutions
diff --git a/iocBoot/iocxxx/common/pseudoMotor.substitutions b/iocBoot/iocxxx/substitutions/pseudoMotor.substitutions
similarity index 100%
rename from iocBoot/iocxxx/common/pseudoMotor.substitutions
rename to iocBoot/iocxxx/substitutions/pseudoMotor.substitutions
diff --git a/iocBoot/iocxxx/common/softMotor.substitutions b/iocBoot/iocxxx/substitutions/softMotor.substitutions
similarity index 100%
rename from iocBoot/iocxxx/common/softMotor.substitutions
rename to iocBoot/iocxxx/substitutions/softMotor.substitutions
diff --git a/iocBoot/iocxxx/vxWorks/dac128V.cmd b/iocBoot/iocxxx/vxWorks/dac128V.cmd
index af6c1e4417b42d5c362cf59b0858cb23cdefb1ae..538d69d60e739950cd874086a8ab49acbc713a02 100644
--- a/iocBoot/iocxxx/vxWorks/dac128V.cmd
+++ b/iocBoot/iocxxx/vxWorks/dac128V.cmd
@@ -8,6 +8,6 @@
 # slot        = IPAC slot (0,1,2,3, etc.)
 initDAC128V("DAC1", 0, 3)
 
-dbLoadTemplate("vxWorks/dac128V.substitutions", "P=$(PREFIX)")
+dbLoadTemplate("substitutions/dac128V.substitutions", "P=$(PREFIX)")
 
 # END dac128V.cmd -------------------------------------------------------------
diff --git a/iocBoot/iocxxx/vxWorks/ipUnidig.cmd b/iocBoot/iocxxx/vxWorks/ipUnidig.cmd
index 69a9d84bdf8e37685e56a5c6dfa8a2803a218f9f..90b22301b9383d63e32d9dc4f97d1b2e912e515c 100644
--- a/iocBoot/iocxxx/vxWorks/ipUnidig.cmd
+++ b/iocBoot/iocxxx/vxWorks/ipUnidig.cmd
@@ -23,6 +23,6 @@
 initIpUnidig("Unidig1", 0, 1, 2000, 116, 0xfffffb, 0xfffffb)
 
 # IP-Unidig binary I/O
-dbLoadTemplate("vxWorks/ipUnidig.substitutions", "P=$(PREFIX), PORT=Unidig1")
+dbLoadTemplate("substitutions/ipUnidig.substitutions", "P=$(PREFIX), PORT=Unidig1")
 
 # END ipUnidig.cmd ------------------------------------------------------------