     is_stuck = !sticky.stuck
     sticky.stuck = is_stuck
     if !is_stuck
-      sticky.y = null
+      sticky.y = sticky.x = null
     save sticky
 
     if v.stuck_key?

  #
  # Different constraints may need to be introduced to accommodate different
  # sticky component configurations.   
  solveForY : (stickies) -> 
    
    # cassowary constraint solver
    solver = new c.SimplexSolver()    

    # Stores the cassowary variables representing each component's y-position 
    # that the solver will optimize. 
    y_pos = {}
    for own k,v of stickies
      y_pos[k] = new c.Variable

    # We modify the contraints slightly based on whether we're scrolling up or down
    scrolling_down = scroller.viewport_top > scroller.last_viewport_top
    scroll_distance = Math.abs(scroller.viewport_top - scroller.last_viewport_top)


    sticky = fetch @key
    if sticky.stuck
      [x, y] = [sticky.x, sticky.y]
      positioning_method = if browser.is_mobile then 'absolute' else 'fixed'

      style = 
        top: 0
