diff --git a/easybuild/tools/module_naming_scheme/lowercase_module_naming_scheme.py b/easybuild/tools/module_naming_scheme/lowercase_module_naming_scheme.py
new file mode 100644
index 0000000000..8bf090272d
--- /dev/null
+++ b/easybuild/tools/module_naming_scheme/lowercase_module_naming_scheme.py
@@ -0,0 +1,62 @@
+##
+# Copyright 2013-2017 Ghent University
+#
+# This file is part of EasyBuild,
+# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
+# with support of Ghent University (http://ugent.be/hpc),
+# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),
+# Flemish Research Foundation (FWO) (http://www.fwo.be/en)
+# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
+#
+# http://github.com/hpcugent/easybuild
+#
+# EasyBuild is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation v2.
+#
+# EasyBuild is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with EasyBuild. If not, see .
+##
+"""
+Implementation of (default) EasyBuild module naming scheme.
+:author: Kenneth Hoste (Ghent University)
+:author: Guilherme Peretti-Pezzi (CSCS)
+"""
+
+import os
+import re
+
+from easybuild.tools.module_naming_scheme import ModuleNamingScheme
+from easybuild.tools.module_naming_scheme.utilities import det_full_ec_version
+
+class LowercaseModuleNamingScheme(ModuleNamingScheme):
+ """Class implementing a lowercase module naming scheme."""
+
+ REQUIRED_KEYS = ['name', 'version', 'versionsuffix', 'toolchain']
+
+ def det_full_module_name(self, ec):
+ """
+ Determine full module name from given easyconfig, according to the EasyBuild module naming scheme.
+ :param ec: dict-like object with easyconfig parameter values (e.g. 'name', 'version', etc.)
+ :return: string with full module name /, e.g.: 'gzip/1.5-goolf-1.4.10'
+ """
+ return os.path.join(ec['name'], det_full_ec_version(ec)).lower()
+
+ def is_short_modname_for(self, short_modname, name):
+ """
+ Determine whether the specified (short) module name is a module for software with the specified name.
+ Default implementation checks via a strict regex pattern, and assumes short module names are of the form:
+ /[-]
+ """
+ modname_regex = re.compile('^%s(/\S+)?$' % re.escape(name.lower()))
+ res = bool(modname_regex.match(short_modname))
+
+ self.log.debug("Checking whether '%s' is a module name for software with name '%s' via regex %s: %s",
+ short_modname, name, modname_regex.pattern, res)
+
+ return res