diff --git a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
index 785940b..3a5cc18 100644
--- a/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
+++ b/components/camel-http4/src/main/java/org/apache/camel/component/http4/HttpEndpoint.java
@@ -156,7 +156,7 @@
                 HttpHost proxy = new HttpHost(host, port, scheme);
                 clientBuilder.setProxy(proxy);
             } else {
-            	if (ObjectHelper.isNotEmpty(getProxyHost()) && ObjectHelper.isNotEmpty(getProxyPort())) {
+                if (ObjectHelper.isNotEmpty(getProxyHost()) && ObjectHelper.isNotEmpty(getProxyPort())) {
                     String scheme = getProtocol();
                     // fallback and use either http or https depending on secure
                     if (scheme == null) {
@@ -164,7 +164,7 @@
                     }
                     HttpHost proxy = new HttpHost(getProxyHost(), getProxyPort(), scheme);
                     clientBuilder.setProxy(proxy);
-            	}
+                }
             }
         } else {
             clientBuilder.useSystemProperties();
