diff --git a/bob/devtools/build.py b/bob/devtools/build.py
index 2045b8a1b66b7a01743be62861b25567bdeb74a6..2f334efe98518766b65f9543cb8543e5f8a3954a 100644
--- a/bob/devtools/build.py
+++ b/bob/devtools/build.py
@@ -520,11 +520,6 @@ def base_build(bootstrap, server, intranet, recipe_dir, conda_build_config,
         condarc_options)
 
   metadata = get_rendered_metadata(recipe_dir, conda_config)
-  recipe = get_parsed_recipe(metadata)
-
-  if recipe is None:
-    logger.info('Skipping build for %s - rendering returned None', recipe_dir)
-    return
 
   # handles different cases as explained on the description of
   # ``python_version``
@@ -532,6 +527,20 @@ def base_build(bootstrap, server, intranet, recipe_dir, conda_build_config,
   if py_ver == 'noarch': py_ver = ''
   arch = conda_arch()
 
+  # checks we should actually build this recipe
+  if should_skip_build(metadata):
+    if py_ver is None:
+      logger.warn('Skipping UNSUPPORTED build of "%s" on %s', recipe_dir, arch)
+    elif not py_ver:
+      logger.warn('Skipping UNSUPPORTED build of "%s" for (noarch) python ' \
+          'on %s', recipe_dir, arch)
+    else:
+      logger.warn('Skipping UNSUPPORTED build of "%s" for python-%s ' \
+          'on %s', recipe_dir, python_version, arch)
+    return
+
+  recipe = get_parsed_recipe(metadata)
+
   candidate = exists_on_channel(public_channels[0], recipe['package']['name'],
       recipe['package']['version'], recipe['build']['number'],
       python_version)