     unfollowChannel channelId
 
 
+  componentWillUpdate: (nextProps, nextState) ->
+
+    channelId          = @state.channelThread.get 'channelId'
+    nextStateChannelId = nextState.channelThread.get 'channelId'
+
+    return @setState editingPurpose: no  if channelId isnt nextStateChannelId
+
+
   updatePurpose: ->
 
-    channelThread = @state.channelThread.set 'editingPurpose', yes
-    @setState channelThread: channelThread
+    @setState editingPurpose: yes
 
     input = @refs.purposeInput
 

    super props

    @state =
      originalPurpose       : ''
      showDropTarget        : no
      isComingSoonModalOpen : no

      _originalPurpose = thread.getIn ['channel', '_originalPurpose']
      purpose = _originalPurpose or thread.getIn ['channel', 'purpose']
      thread  = thread.setIn ['channel', 'purpose'], purpose
      @setState channelThread: thread
      return @setState editingPurpose: no

    if event.which is ENTER

