diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -17,9 +17,13 @@ module.exports = function(config) {
     debug('initializing "%s", from "%s"', __filename, module.parent.id);
 
     this.use(utils.cwd());
-    this.use(utils.vfs());
     this.use(utils.pipeline());
 
+    // if templates need to be rendered, register assemble-fs before this plugin
+    if (typeof this.src !== 'function') {
+      this.use(utils.vfs());
+    }
+
     this.define('process', function(files, options) {
       debug('running base-files-process', files);
only add `base-fs` if src doesn't exist