diff --git a/pages/docs/changelog.md b/pages/docs/changelog.md
index 79386ad968a22edb7c53c4dd0c5c253bdbf89280..138ad9b2fae4140e8d172635202a089d12d7e4b6 100644
--- a/pages/docs/changelog.md
+++ b/pages/docs/changelog.md
@@ -1,5 +1,13 @@
 # Changelog
 
+## 1.0.1 (dev)
+
+### Changes
+
+### Development Changes
+
+- Bugfix: "error: variable handler is already defined" when using multiple protocols [#58](https://git-st.inf.tu-dresden.de/jastadd/ragconnect/-/issues/58)
+
 ## 1.0.0
 
 ### Changes
diff --git a/ragconnect.base/src/main/resources/sendDefinition.mustache b/ragconnect.base/src/main/resources/sendDefinition.mustache
index 9c7dac4fc7a9bccc449fcdfced102c4ba865fbb2..d97618567dce78a10b56680aac09d31e5b06c74a 100644
--- a/ragconnect.base/src/main/resources/sendDefinition.mustache
+++ b/ragconnect.base/src/main/resources/sendDefinition.mustache
@@ -7,23 +7,24 @@ public boolean {{parentTypeName}}.{{connectMethodName}}(String {{connectParamete
   switch (scheme) {
   {{#javaHandler}}
   {{#InUse}}
-    case "java":
-    final JavaHandler handler = {{attributeName}}();
+    case "java": {
+      final JavaHandler handler = {{attributeName}}();
 
-    {{senderName}}.add(() -> {
-      handler.push(path, {{lastValueGetterCall}});
-    }{{#IndexBasedListAccess}}, index{{/IndexBasedListAccess}}, connectToken);
-    {{updateMethodName}}();
-    if (writeCurrentValue) {
-      {{writeMethodName}}({{#IndexBasedListAccess}}index, {{/IndexBasedListAccess}}connectToken);
+      {{senderName}}.add(() -> {
+        handler.push(path, {{lastValueGetterCall}});
+      }{{#IndexBasedListAccess}}, index{{/IndexBasedListAccess}}, connectToken);
+      {{updateMethodName}}();
+      if (writeCurrentValue) {
+        {{writeMethodName}}({{#IndexBasedListAccess}}index, {{/IndexBasedListAccess}}connectToken);
+      }
+      success = true;
+      break;
     }
-    success = true;
-    break;
   {{/InUse}}
   {{/javaHandler}}
   {{#mqttHandler}}
   {{#InUse}}
-    case "mqtt":
+    case "mqtt": {
       final MqttHandler handler = {{attributeName}}().resolveHandler(uri);
       final String topic = {{attributeName}}().extractTopic(uri);
       {{senderName}}.add(() -> {
@@ -45,16 +46,18 @@ public boolean {{parentTypeName}}.{{connectMethodName}}(String {{connectParamete
       }
       success = true;
       break;
+    }
   {{/InUse}}
   {{/mqttHandler}}
   {{#restHandler}}
   {{#InUse}}
-    case "rest":
+    case "rest": {
       success = {{attributeName}}().newGETConnection(connectToken, () -> {
         {{updateMethodName}}({{#IndexBasedListAccess}}index{{/IndexBasedListAccess}});
         return new String({{lastValueGetterCall}});
       });
       break;
+    }
   {{/InUse}}
   {{/restHandler}}
     default:
diff --git a/ragconnect.tests/build.gradle b/ragconnect.tests/build.gradle
index c5e6f13b574d6e93ee635a265c6f0cfe9b718793..fb5e710ae4d4873e37e4454c0adccccc26750838 100644
--- a/ragconnect.tests/build.gradle
+++ b/ragconnect.tests/build.gradle
@@ -244,7 +244,7 @@ task compileVia(type: RagConnectTest) {
         inputFiles = [file('src/test/01-input/via/Test.relast'),
                       file('src/test/01-input/via/Test.connect')]
         rootNode = 'A'
-        protocols = ['mqtt', 'rest']
+        protocols = ['mqtt', 'rest', 'java']
         extraOptions = defaultRagConnectOptionsAnd()
     }
     relast {
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AttributeTest.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AttributeTest.java
index 7073e6d4f05d35ab7d42d84b0d1d31072b92efc2..ee1b7e55a72e571b21c2d3a427455a53775efabd 100644
--- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AttributeTest.java
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/AttributeTest.java
@@ -26,7 +26,6 @@ import static org.junit.jupiter.api.Assertions.*;
  * @author rschoene - Initial contribution
  */
 @Tag("Incremental")
-@Tag("New")
 public class AttributeTest extends AbstractMqttTest {
 
   private static final String TOPIC_WILDCARD = "attr/#";
diff --git a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/tree/AbstractTreeTest.java b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/tree/AbstractTreeTest.java
index 9b2e18f5a5fd075843b4022386408c944506f0be..c8f87c184a555fc65006e30a023992812ee94295 100644
--- a/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/tree/AbstractTreeTest.java
+++ b/ragconnect.tests/src/test/java/org/jastadd/ragconnect/tests/tree/AbstractTreeTest.java
@@ -16,7 +16,6 @@ import static org.junit.jupiter.api.Assertions.*;
  * @author rschoene - Initial contribution
  */
 @Tag("Tree")
-@Tag("New")
 public abstract class AbstractTreeTest extends AbstractMqttTest {
   protected static final String TOPIC_ALFA = "alfa";
   protected ReceiverData data;