diff --git a/config/assets.yml b/config/assets.yml
index f127c9cb4893ffa4949256bc3ae2744c3b808798..00225e26b27cb273b52d48fc4092a6eee6e8c05b 100644
--- a/config/assets.yml
+++ b/config/assets.yml
@@ -1,3 +1,4 @@
+package: always
 javascripts:
   flash_socket:
     - public/javascripts/vendor/FABridge.js
@@ -19,14 +20,14 @@ javascripts:
     - public/javascripts/vendor/mailchimp/jquery.form.js
     - public/javascripts/vendor/mailchimp/jquery.validate.js
     - public/javascripts/vendor/mailchimp/jquery126.min.js
-    
+
   photo:
     - public/javascripts/photo.js
     - public/javascripts/image-picker.js
   aspects:
     - public/javascripts/vendor/jquery-ui-1.8.6.custom.min.js
     - public/javascripts/aspect-edit.js
-  
+
 stylesheets:
   default:
     - public/stylesheets/application.css
diff --git a/script/server b/script/server
index d3948e7dff5dc18c3de359c69f238542e934b8c7..2256b410c755b11c4b092a753d1623714e8804d1 100755
--- a/script/server
+++ b/script/server
@@ -48,6 +48,16 @@ if [ ! -e public/source.tar.gz ]; then
     exit 65
 fi
 
+# Precache jammit assets
+if [ -w public ]; then
+    bundle exec jammit
+fi
+if [ ! -e 'public/assets/main.js.gz' ]; then
+    echo 'Jammit precache error (now or at install)' >&2
+    exit 66
+fi
+
+
 mkdir -p -v log/thin/
 bundle exec ruby ./script/websocket_server.rb&
 bundle exec magent start --log-path=log/ &
diff --git a/script/websocket_server.rb b/script/websocket_server.rb
index 82f3b57a2bd47a8d978654447927acd2f94b5eb9..b3df18e10e1218ce2faa3eeacf9dcad77ca5b38c 100644
--- a/script/websocket_server.rb
+++ b/script/websocket_server.rb
@@ -41,20 +41,8 @@ def process_message
   end
 end
 
-def package_js
-  require 'jammit'
-
-  begin
-    Jammit.package!
-  rescue => e
-    puts "Error minifying assets, but server will continue starting normally."
-    puts e.inspect
-  end
-end
-
 begin
   EM.run {
-    package_js
     Diaspora::WebSocket.initialize_channels
 
     socket_params = { :host => APP_CONFIG[:socket_host],