diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js
index b6b0b6be8d057c85b27567e21fee24298b6ca555..b428865c8255d5b9220b7fce7ffdb073fa759ebc 100644
--- a/editors/editoria/src/config/config.js
+++ b/editors/editoria/src/config/config.js
@@ -1,4 +1,5 @@
 import { emDash, ellipsis } from 'prosemirror-inputrules';
+import { debounce } from 'lodash';
 import { columnResizing, tableEditing } from 'prosemirror-tables';
 import {
   InlineAnnotationsService,
@@ -54,9 +55,13 @@ import invisibles, {
   paragraph,
 } from '@guardian/prosemirror-invisibles';
 
-const updateTitle = title => {
+// const updateTitle = title => {
+//   console.log(title);
+// };
+
+const updateTitle = debounce(title => {
   console.log(title);
-};
+}, 3000);
 
 const saveTags = tags => {
   // console.log(tags);
diff --git a/wax-prosemirror-components/src/components/TitleButton.js b/wax-prosemirror-components/src/components/TitleButton.js
index 3eb7c9f26d64f2b10e186e3eb6389ad4036dc959..1477ed41f912985ff94ba4ac477f1237cfdf724c 100644
--- a/wax-prosemirror-components/src/components/TitleButton.js
+++ b/wax-prosemirror-components/src/components/TitleButton.js
@@ -31,13 +31,16 @@ const TitleButton = ({ view = {}, item }) => {
 
   const serviceConfig = app.config.get('config.TitleService');
 
+  let chapterTitle = '';
+  if (titleNode[0]) chapterTitle = titleNode[0].node.textContent;
+
   useEffect(() => {
     if (titleNode[0]) {
       serviceConfig.updateTitle(titleNode[0].node.textContent);
     } else {
       serviceConfig.updateTitle('');
     }
-  }, [JSON.stringify(titleNode[0])]);
+  }, [chapterTitle]);
 
   const isActive = !!active(state, activeViewId);
   let isDisabled = !select(state, activeViewId, activeView);