diff --git a/lib/aposLocals.js b/lib/aposLocals.js
index <HASH>..<HASH> 100644
--- a/lib/aposLocals.js
+++ b/lib/aposLocals.js
@@ -159,6 +159,12 @@ module.exports = function(self) {
         // Invent the area if it doesn't exist yet, so we can
         // edit pages not previously edited
         area = { items: [] };
+        if (options.textOnly) {
+          // If the area is text only then it should initially contain an
+          // empty text widget as there is no way to add another and we want to
+          // be able to apply the apos-empty class immediately
+          area.items.push({ type: 'richText', content: '' });
+        }
       }
       // Keep options and area separate, area is much too big to stuff into
       // the options attribute of every area element, whoops
Text-only areas should start out with a text item at the server level so that they get the apos-empty class and thus a pencil