Bootstrap 3 colapse en acordeón: colapsa todo funciona pero luego no puede expandirse todo mientras se mantiene el padre de datos

Estoy usando Bootstrap 3 y tratando de configurar la siguiente estructura de acordeón / contracción:

Carga: cada panel de acordeón en un grupo está totalmente colapsado y funciona como se documenta / espera.

Haga clic en el botón: cada panel de acordeón se expande y hacer clic en los conmutadores no tiene ningún efecto (incluidos los efectos de anclaje de URL)

Otro clic del botón: Todos los paneles regresan al estado de carga; todo colapsado y se puede hacer clic como de costumbre.

Llegué al paso 2, pero cuando vuelvo a hacer clic en el botón 3, no tiene ningún efecto. Tampoco veo errores de consola reportados en Chrome Dev Tools o ejecutando el código a través de mi JSHint local.

Me gustaría que este ciclo fuera repetible cada vez que se haga clic en el botón.

He configurado mi código aquíhttp://bootply.com/98140 y aquíhttp://jsfiddle.net/A9vCx/

Me encantaría saber qué estoy haciendo mal y agradezco las sugerencias. ¡Gracias!

Mi HTML:

<button class="collapse-init">Click to disable accordion behavior</button>
<br><br>
<div class="panel-group" id="accordion">
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
          Collapsible Group Item #1
        </a>
      </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
          Collapsible Group Item #2
        </a>
      </h4>
    </div>
    <div id="collapseTwo" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
          Collapsible Group Item #3
        </a>
      </h4>
    </div>
    <div id="collapseThree" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid.
      </div>
    </div>
  </div>
</div>

Mi JS:

$(function() {

  var $active = true;

  $('.panel-title > a').click(function(e) {
    e.preventDefault();
  });

  $('.collapse-init').on('click', function() {
    if(!$active) {
      $active = true;
      $('.panel-title > a').attr('data-toggle', 'collapse');
      $('.panel-collapse').collapse({'toggle': true, 'parent': '#accordion'});
      $(this).html('Click to disable accordion behavior');
    } else {
      $active = false;
      $('.panel-collapse').collapse({'toggle': true, 'parent': '#accordion'});
      $('.panel-title > a').removeAttr('data-toggle');
      $(this).html('Click to enable accordion behavior');
    }
  });

});

Respuestas a la pregunta(4)

Su respuesta a la pregunta