diff --git a/scapy/all.py b/scapy/all.py
index 9ad308de32d09f13ca8f795e02ddbd9c6f82b19d..9d6e5b5d3f80e7ab619869b98242d468bcc23b18 100644
--- a/scapy/all.py
+++ b/scapy/all.py
@@ -38,11 +38,6 @@ from scapy.autorun import *
 from scapy.main import *
 
 from scapy.layers.all import *
-if "tls" in conf.load_layers:
-    try:
-        from scapy.layers.tls.all import *
-    except ImportError:
-        pass
 
 from scapy.asn1.asn1 import *
 from scapy.asn1.ber import *
diff --git a/scapy/layers/all.py b/scapy/layers/all.py
index 561dcc8f0b9ab82222574048e96639d1a20836fd..18e8e2a1508db0f63122f2461d7413e9736e4f9c 100644
--- a/scapy/layers/all.py
+++ b/scapy/layers/all.py
@@ -39,11 +39,14 @@ def _import_star(m):
                 __all__.append(name)
                 globals()[name] = sym
 
+LAYER_ALIASES = {
+    "tls": "tls.all",
+}
+
 for _l in conf.load_layers:
     log_loading.debug("Loading layer %s" % _l)
     try:
-        if _l != "tls":
-            _import_star(_l)
+        _import_star(LAYER_ALIASES.get(_l, _l))
     except Exception as e:
         log.warning("can't import layer %s: %s" % (_l,e))
 
diff --git a/scapy/main.py b/scapy/main.py
index dbe0682865c3ab5859b131ff1a9e6455da78c842..287bcd7d3857169aa135ffe4e68c935b9807485c 100644
--- a/scapy/main.py
+++ b/scapy/main.py
@@ -18,6 +18,7 @@ import importlib
 ignored = list(six.moves.builtins.__dict__.keys())
 
 from scapy.error import *
+from scapy.layers.all import LAYER_ALIASES
 
 def _probe_config_file(cf):
     cf_path = os.path.join(os.path.expanduser("~"), cf)
@@ -83,7 +84,7 @@ def load_module(name):
     _load("scapy.modules."+name)
 
 def load_layer(name):
-    _load("scapy.layers."+name)
+    _load("scapy.layers." + LAYER_ALIASES.get(name, name))
 
 def load_contrib(name):
     try: