diff --git a/build/preprocess.sh b/build/preprocess.sh
index f5610eb2..43e6f731 100755
--- a/build/preprocess.sh
+++ b/build/preprocess.sh
@@ -33,7 +33,7 @@ OPTIONS=$(printf '%q' $(node -e "
 	process.stdout.write(JSON.stringify(__options));
 "))
 # Build the prepo.js command out of it, passing on version and date as defines:
-COMMAND="../node_modules/.bin/prepro -o $OPTIONS -o '{ \"date\": \"$DATE\", \"stats\": false }' $3 $2"
+COMMAND="../node_modules/.bin/prepro -o $OPTIONS -o '{ \"date\": \"$DATE\" }' $3 $2"
 
 case $1 in
 	commented)
diff --git a/src/options.js b/src/options.js
index 500bc47b..d274f54c 100644
--- a/src/options.js
+++ b/src/options.js
@@ -10,25 +10,30 @@
  * All rights reserved.
  */
 
-// Define default options for browser based compile-time preprocessing.
-// These are also used for building, but some values are overridden
-// (e.g. version, stats).
+// Define __options for code preprocessing when building the library, as well as
+// browser based compile-time preprocessing when loading the separate source
+// files directly through load.js / prepro.js during development.
+
+// The paper.js version.
+// NOTE: Adjust value here before calling publish.sh, which then updates and
+// publishes the various JSON package files automatically.
+var version = '0.9.19';
+
+var inBrowser = typeof window === 'object';
 
 var __options = {
-	parser: 'acorn',
-	version: '0.9.19',
+	// If this file is loaded in the browser, we're in dev mode through load.js
+	version: inBrowser ? 'dev' : version,
 	environment: 'browser',
+	parser: 'acorn',
 	legacy: true,
-	stats: true,
 	svg: true,
 	fatlineClipping: true,
 	booleanOperations: true,
 	nativeContains: false,
 	paperScript: true,
 	palette: true,
+	// Only load stats when in dev mode
+	stats: inBrowser,
 	debug: false
 };
-
-// If this file is loaded in the browser, we're in dev mode through load.js
-if (typeof window === 'object')
-	__options.version = 'dev';