diff --git a/dart.js b/dart.js
index 4ab96a0..213a7a7 100644
--- a/dart.js
+++ b/dart.js
@@ -16,10 +16,18 @@ Drupal.DART.settings = {
  */
 Drupal.behaviors.DART = function() {
   if (typeof(Drupal.DART.settings.loadLastTags) == 'object') {
-    for (var machinename in Drupal.DART.settings.loadLastTags) {
-      scripttag = Drupal.DART.tag(Drupal.DART.settings.loadLastTags[machinename]);
-      $('#block-dart-dart-tag-' + machinename +':visible').writeCapture().append(scripttag);
-    }
+    $('.dart-tag:visible').each( function() {
+      if(!$(this).hasClass('processed')) {
+        var regex = /name-(\w+)$/;
+        var result = regex.exec($(this).attr('class'));
+        var scriptTag = Drupal.DART.tag(Drupal.DART.settings.loadLastTags[result[1]]);
+
+        $(this).
+          writeCapture().
+            append(scriptTag).
+              addClass('processed');
+      }
+    });
   }
 }
 
diff --git a/dart.module b/dart.module
index e7687d2..2bc5320 100644
--- a/dart.module
+++ b/dart.module
@@ -514,7 +514,7 @@ function _dart_get_page_key_vals() {
 function template_preprocess_dart_tag(&$variables) {
   $tag = $variables['tag'];
 
-  $variables['attributes']  = array('class' => 'dart-tag');
+  $variables['attributes']  = array('class' => 'dart-tag name-'.$variables['tag']->machinename);
   $variables['json_tag']    = drupal_to_js($tag);
   $variables['load_last']   = variable_get('dart_load_last', '0');
 
