diff --git a/app/components/SimpleEditor/Editor.js b/app/components/SimpleEditor/Editor.js
index 1f5977b76502b1e0bbcd16e727afdc072a6f6a2c..66c140bfe0a0248383e8805946b60ad8429e8984 100644
--- a/app/components/SimpleEditor/Editor.js
+++ b/app/components/SimpleEditor/Editor.js
@@ -3,6 +3,7 @@ import { includes, some } from 'lodash'
 import {
   ProseEditor,
   TOCProvider,
+  Toolbar
 } from 'substance'
 
 import Comments from './panes/Comments/CommentBoxList'
@@ -34,10 +35,12 @@ class Editor extends ProseEditor {
     this.extendProps({
       trackChanges: !this.props.trackChanges
     })
-
+    //
     this.props.updateTrackChangesStatus(!this.props.trackChanges)
 
-    this.extendState({ trackChanges: !this.props.trackChanges })
+    this.refs.toolbar.extendProps({
+      trackChanges: this.props.trackChanges
+    })
   }
 
   willUpdateState () {}
@@ -141,8 +144,14 @@ class Editor extends ProseEditor {
 
   // TODO -- use this to insert read-only mode alert
   _renderToolbar ($$) {
-    const toolbar = super._renderToolbar($$)
-    return toolbar
+    let commandStates = this.commandManager.getCommandStates()
+    return $$('div').addClass('se-toolbar-wrapper').append(
+    $$(Toolbar, {
+      commandStates: commandStates,
+      trackChanges: this.props.trackChanges,
+      toolGroups: ['text', 'document', 'annotations', 'default', 'track-change-enable', 'track-change-toggle-view']
+    }).ref('toolbar')
+  )
   }
 
   _renderEditor ($$) {
@@ -163,7 +172,6 @@ class Editor extends ProseEditor {
   getInitialState () {
     return {
       editorReady: false,
-      trackChanges: this.props.trackChanges,
       trackChangesView: true
     }
   }
diff --git a/app/components/SimpleEditor/SimpleEditor.scss b/app/components/SimpleEditor/SimpleEditor.scss
index a5376e9c00b6b012cd69b98c13a55c081f09facf..e841653bbbf23850d4338a73095671b63f265853 100644
--- a/app/components/SimpleEditor/SimpleEditor.scss
+++ b/app/components/SimpleEditor/SimpleEditor.scss
@@ -119,7 +119,6 @@ $active-blue: #4a90e2;
     } // end dropdown
 
     .sm-target-track-change-enable {
-      border-right: 1px solid $border;
 
       button {
         background-color: $inactive-grey;
@@ -174,8 +173,7 @@ $active-blue: #4a90e2;
       border-left: 1px solid $border;
     }
 
-    .sm-target-track-change-enable,
-    .sm-target-track-change-toggle-view {
+    .sm-target-track-change-enable {
       padding: 0 9px;
     }
 
diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangeComponent.js b/app/components/SimpleEditor/elements/track_change/TrackChangeComponent.js
index 30215e3896ea9f334b5370b88e8085e52b4f997e..9fe65a520908f98f3fca973deaf103093c543a3c 100644
--- a/app/components/SimpleEditor/elements/track_change/TrackChangeComponent.js
+++ b/app/components/SimpleEditor/elements/track_change/TrackChangeComponent.js
@@ -96,7 +96,7 @@ class TrackChangeComponent extends AnnotationComponent {
 
     const selection = surface.editorSession.getSelection()
 
-    if (selection.isNull() || selection.isCollapsed()) return false
+    if (selection.isNodeSelection || selection.isNull() || selection.isCollapsed()) return false
 
     const overlaps = selection.overlaps(annotationSelection)
     const contains = selection.contains(annotationSelection)
diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js b/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js
index 63a14be84f3a4058e170856d1c161ec5a818b2bf..cb652856ddcbe6c0edb1845059eddeb57a126cd8 100644
--- a/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js
+++ b/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js
@@ -2,10 +2,6 @@ import { Tool } from 'substance'
 
 class TrackChangeControlTool extends Tool {
 
-  getClassNames () {
-    return 'sm-target-track-change-enable'
-  }
-
   renderButton ($$) {
     const el = super.renderButton($$)
 
@@ -16,21 +12,12 @@ class TrackChangeControlTool extends Tool {
     return el
   }
 
-  getSurface () {
-    const surfaceManager = this.context.surfaceManager
-    // const containerId = this.context.controller.props.containerId
-    return surfaceManager.getSurface('body')
-  }
-
   isTrackChangesOn () {
-    const surface = this.getSurface()
-    if (!surface) return
-    return surface.props.trackChanges
+    return this.parent._owner.props.trackChanges
   }
 
   canAct () {
     const provider = this.context.trackChangesProvider
-    // console.log('can act?', provider.canAct())
     return provider.canAct()
   }
 }
diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js b/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js
index ce01b0c0a028aa3865d9549fe00ce62d788373e1..40b630f0288a4a71f9acd2aa61989e82273df718 100644
--- a/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js
+++ b/app/components/SimpleEditor/elements/track_change/TrackChangePackage.js
@@ -11,17 +11,18 @@ export default {
   name: 'track-change',
   configure: function (config, { toolGroup }) {
     config.addNode(TrackChange)
-
+    config.addToolGroup('track-change-enable')
+    config.addToolGroup('track-change-toggle-view')
     config.addComponent(TrackChange.type, TrackChangeComponent)
     config.addConverter('html', TrackChangeHTMLConverter)
 
     // TODO -- both tools should go to the same target
     config.addTool('track-change-enable', TrackChangeControlTool, {
-      toolGroup: 'default'
+      toolGroup: 'track-change-enable'
     })
 
     config.addTool('track-change-toggle-view', TrackChangeControlViewTool, {
-      toolGroup: 'default'
+      toolGroup: 'track-change-toggle-view'
     })
 
     config.addCommand('track-change-enable', TrackChangeControlCommand)
diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js b/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js
index e890b092bc815a803d30a35e0112085b5cf9d191..6a762e6f08158ea03f368dba119d8c0435d28524 100644
--- a/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js
+++ b/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js
@@ -17,7 +17,6 @@ import {
 
 import {
   annotationHelpers,
-  truncateAnnotation,
   TOCProvider
 } from 'substance'
 
@@ -529,11 +528,10 @@ class TrackChangesProvider extends TOCProvider {
   truncateTrackAnnotation (selection, annotation) {
     const surface = this.getSurface()
     const info = this.getInfo()
+    const doc = this.getDocument()
 
     const transformation = (tx, args) => {
-      args.anno = annotation
-      args.selection = selection
-      truncateAnnotation(tx, args)
+      annotationHelpers.truncateAnnotation(doc, annotation, selection)
     }
 
     surface.transaction(transformation, info)