diff --git a/webv4/root/api/attachments.ssjs b/webv4/root/api/attachments.ssjs
index 50411bb234927c8ca83bef374b1c1d5be6be21fb..e8098686ffd568a0a16a685bb7a47e112d1b690b 100644
--- a/webv4/root/api/attachments.ssjs
+++ b/webv4/root/api/attachments.ssjs
@@ -1,6 +1,6 @@
 require('sbbsdefs.js', 'SYS_CLOSED');
 
-var settings = load('modopts.js', 'web');
+var settings = load('modopts.js', 'web') || { web_directory: '../webv4' };
 
 load(settings.web_directory + '/lib/init.js');
 load(settings.web_lib + 'auth.js');
diff --git a/webv4/root/api/auth.ssjs b/webv4/root/api/auth.ssjs
index f0454aea47fa5232b4331ccaccc0aae7d1ebcc16..156ef16a6de6f949bf8d8b047272aececb9cda26 100644
--- a/webv4/root/api/auth.ssjs
+++ b/webv4/root/api/auth.ssjs
@@ -1,4 +1,4 @@
-var settings = load('modopts.js', 'web');
+var settings = load('modopts.js', 'web') || { web_directory: '../webv4' };
 
 load(settings.web_directory + '/lib/init.js');
 load(settings.web_lib + 'auth.js');
diff --git a/webv4/root/api/events.ssjs b/webv4/root/api/events.ssjs
index 93d50b7191898590ec25995039174ede74a5b97b..e2c72062f0b3ecd6e0514451252229bceb8a6318 100644
--- a/webv4/root/api/events.ssjs
+++ b/webv4/root/api/events.ssjs
@@ -1,5 +1,5 @@
 require('sbbsdefs.js', 'SYS_CLOSED');
-var settings = load('modopts.js', 'web');
+var settings = load('modopts.js', 'web') || { web_directory: '../webv4' };
 load(settings.web_directory + '/lib/init.js');
 load(settings.web_lib + 'auth.js');
 load(settings.web_lib + 'request.js');
diff --git a/webv4/root/api/files.ssjs b/webv4/root/api/files.ssjs
index 6737c49b616f7edc6b75f472776fa3d1345269f9..06855704fd10599e80aaf707bfe5ae0dd36fc448 100644
--- a/webv4/root/api/files.ssjs
+++ b/webv4/root/api/files.ssjs
@@ -1,5 +1,5 @@
 load('sbbsdefs.js');
-var settings = load('modopts.js', 'web');
+var settings = load('modopts.js', 'web') || { web_directory: '../webv4' };
 
 load(settings.web_directory + '/lib/init.js');
 load(settings.web_lib + 'auth.js');
diff --git a/webv4/root/api/forum.ssjs b/webv4/root/api/forum.ssjs
index 2a660f299bc983bc99447c460fd7b7ed14e01e7e..6b6e29fa853aa0678db04439271b74896993cddd 100644
--- a/webv4/root/api/forum.ssjs
+++ b/webv4/root/api/forum.ssjs
@@ -3,7 +3,7 @@
     is done here; otherwise all permission checking is done at the function
     level. */
 
-var settings = load('modopts.js', 'web');
+var settings = load('modopts.js', 'web') || { web_directory: '../webv4' };
 
 load(settings.web_directory + '/lib/init.js');
 load(settings.web_lib + 'auth.js');
diff --git a/webv4/root/api/github.ssjs b/webv4/root/api/github.ssjs
index 48a5d889b6b6c2a2ddd91bfca4d6b66570c465ee..2d69150c30618a76a5ec3a5fba8b6d664aec6259 100644
--- a/webv4/root/api/github.ssjs
+++ b/webv4/root/api/github.ssjs
@@ -21,7 +21,7 @@
 require('sbbsdefs.js', 'SYS_CLOSED');
 require('hmac.js', 'hmac_sha1');
 var options = load({}, 'modopts.js', 'github_notify');
-load(system.exec_dir + '../web/lib/init.js');
+load(system.exec_dir + '../webv4/lib/init.js');
 
 function b2h(str) {
 	return str.split('').map(function (e) {
diff --git a/webv4/root/api/register.ssjs b/webv4/root/api/register.ssjs
index 350a084e627c6db3461882385638cb0ba0fb74c0..53400a58c7d5b0c732baf5f28d8ad65251037c85 100644
--- a/webv4/root/api/register.ssjs
+++ b/webv4/root/api/register.ssjs
@@ -1,5 +1,5 @@
 require('sbbsdefs.js', 'SYS_CLOSED');
-var settings = load('modopts.js', 'web');
+var settings = load('modopts.js', 'web') || { web_directory: '../webv4' };
 load(settings.web_directory + '/lib/init.js');
 load(settings.web_lib + 'auth.js');
 load(settings.web_lib + 'request.js');
diff --git a/webv4/root/api/sbbsimsg.ssjs b/webv4/root/api/sbbsimsg.ssjs
index 0c3eba0bd917be1f94ea824205afe768fa43b05c..501dbb4f3447e0db8a98721f6b10c677c2ad20f7 100644
--- a/webv4/root/api/sbbsimsg.ssjs
+++ b/webv4/root/api/sbbsimsg.ssjs
@@ -1,7 +1,7 @@
 
 require('sbbsdefs.js', 'SYS_CLOSED'); // Is this actually used?
 require('nodedefs.js', 'NODE_WFC'); // Is this actually used?
-var settings = load('modopts.js', 'web');
+var settings = load('modopts.js', 'web') || { web_directory: '../webv4' };
 load(settings.web_directory + '/lib/init.js');
 load(settings.web_lib + 'auth.js');
 var sbbsimsg = load({}, "sbbsimsg_lib.js");
diff --git a/webv4/root/api/system.ssjs b/webv4/root/api/system.ssjs
index 1ed5bc100546144f8f08ee5f83acea2568dfdc26..26cca159d2281cdc73981c8f667f1933927b8f71 100644
--- a/webv4/root/api/system.ssjs
+++ b/webv4/root/api/system.ssjs
@@ -1,6 +1,6 @@
 require('sbbsdefs.js', 'SYS_CLOSED');
 require('nodedefs.js', 'NODE_WFC');
-var settings = load('modopts.js', 'web');
+var settings = load('modopts.js', 'web') || { web_directory: '../webv4' };
 
 load(settings.web_directory + '/lib/init.js');
 load(settings.web_lib + 'auth.js');