diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index 12d1397..c2d3423 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -15,6 +15,11 @@
     PROPERTIES
         COMPILE_FLAGS -DUNIT_TESTING=1)
 
+add_executable(fixture_test fixture_test.c)
+target_link_libraries(fixture_test ${CMOCKA_SHARED_LIBRARY})
+
+add_test(fixture_test ${CMAKE_CURRENT_BINARY_DIR}/fixture_test)
+
 add_executable(calculator_test calculator.c calculator_test.c)
 target_link_libraries(calculator_test ${CMOCKA_SHARED_LIBRARY})
 
diff --git a/example/fixture_test.c b/example/fixture_test.c
new file mode 100644
index 0000000..757394a
--- /dev/null
+++ b/example/fixture_test.c
@@ -0,0 +1,37 @@
+#include <stdarg.h>
+#include <stddef.h>
+#include <setjmp.h>
+#include <cmocka.h>
+
+#include <stdlib.h>
+
+static void setup_only(void **state)
+{
+    *state = malloc(1);
+}
+
+static void teardown_only(void **state)
+{
+    free(*state);
+}
+
+static void malloc_setup_test(void **state)
+{
+    assert_non_null(*state);
+    free(*state);
+}
+
+static void malloc_teardown_test(void **state)
+{
+    *state = malloc(1);
+    assert_non_null(*state);
+}
+
+int main(void) {
+    const UnitTest tests[] = {
+        unit_test_setup(malloc_setup_test, setup_only),
+        unit_test_teardown(malloc_teardown_test, teardown_only),
+    };
+
+    return run_tests(tests);
+}
diff --git a/include/cmocka.h b/include/cmocka.h
index 9cd37ea..45d80a3 100644
--- a/include/cmocka.h
+++ b/include/cmocka.h
@@ -1312,7 +1312,6 @@
 
 /** Initializes a UnitTest structure with a teardown function. */
 #define unit_test_teardown(test, teardown) \
-    _unit_test_setup(test, setup), \
     unit_test(test), \
     _unit_test_teardown(test, teardown)
 
