The space is due to \thmt@space, that you can nullify with a suitable setting of preheadhook.
\documentclass[english]{article} \usepackage[T1]{fontenc} \usepackage[latin9]{inputenc} \usepackage{babel} \usepackage{amsthm} \usepackage{thmtools} \usepackage{nameref} \declaretheoremstyle[ spaceabove = \topsep, spacebelow = \topsep, notefont = \bfseries, bodyfont = \normalfont\itshape, headpunct = ., notebraces = {}{}, postheadspace = 0.5em, headindent = 0pt, headformat = \NOTE, ]{CDStyle} \makeatletter \declaretheorem[ preheadhook = \renewcommand{\thmt@space}{}, numbered = no, refname = \NOTE, style = CDStyle ]{custdef} \makeatother \begin{document} \nameref{foo} Praesent eget sem vel leo ultrices bibendum. Aenean faucibus. Morbi dolor nulla, malesuada eu, pulvinar at, mollis ac, nulla. Curabitur auctor semper nulla. \begin{custdef}[Pellentesque Habitant]\label{foo} Pellentesque Habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas viverra metus rhoncus sem dictum gravida. \end{custdef} Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque. \end{document}