diff --git a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
index 99b949f..9572156 100644
--- a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
+++ b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaComponent.java
@@ -67,13 +67,15 @@
         config.setPort(u.getPort());
         config.setProtocol(u.getScheme());
         config.setFilters(resolveAndRemoveReferenceListParameter(parameters, "filters", IoFilter.class));
-        setProperties(config, parameters);
+
+        Endpoint endpoint = createEndpoint(uri, config);
+        setProperties(endpoint, parameters);
 
         if (config.getSslContextParameters() == null) {
             config.setSslContextParameters(retrieveGlobalSslContextParameters());
         }
 
-        return createEndpoint(uri, config);
+        return endpoint;
     }
 
     public Endpoint createEndpoint(MinaConfiguration config) throws Exception {
