 
   graph = undefined
   get_data: ->
-    return bind_data() if graph && graph.type == data_type
+    if graph
+      node.fixed = false for node in graph.nodes
+      return bind_data() if graph.type == data_type
     # fetch data of the appropriate type from the API
     d3.json "http://somelab09.cci.fsu.edu:8080/scholarMap/api/v1/#{data_type}/graphs/force-directed?#{window.location.search.substring(1)}", (error, data) ->
       graph = data

    ScholarMapViz.$similarity_types.fadeIn 500

  generate_links = (nodes) ->
    links = _.map nodes, (node, index) ->
      _.slice(nodes, index+1, nodes.length).map (other_node) ->
        similarities = {}
        any_links = false
        for similarity_type in active_similarity_types()
          similarities[similarity_type] = if node[similarity_type] and other_node[similarity_type]
            if node[similarity_type] and typeof(node[similarity_type][0]) == 'object'
              node_attr_ids       = _.map       node[similarity_type], (similarity) -> similarity.id

          {
            source: nodes.indexOf node
            target: nodes.indexOf other_node
            similarities: _.filter _.map( active_types, (similarity_type) ->
              {
                type: similarity_type
                list: similarities[similarity_type]
