diff --git a/docs/sections/coding_guidelines.md b/docs/sections/coding_guidelines.md
index 2a3f9cc..c1eba00 100644
--- a/docs/sections/coding_guidelines.md
+++ b/docs/sections/coding_guidelines.md
@@ -7,8 +7,8 @@
   - [File layout](#file-layout)
   - [Block Management](#block-management)
   - [Naming Conventions](#naming-conventions)
-    - [C++ language naming conventions](#c-language-naming-conventions)
-    - [C language naming conventions](#c-language-naming-conventions-1)
+    - [CPP language naming conventions](#cpp-language-naming-conventions)
+    - [C language naming conventions](#c-language-naming-conventions)
   - [Layout and formatting conventions](#layout-and-formatting-conventions)
   - [Language usage](#language-usage)
 
@@ -151,7 +151,7 @@
 
 ## Naming Conventions
 
-### C++ language naming conventions
+### CPP language naming conventions
 
 - Type (class, struct, enum) names must be `PascalCase`:
 
diff --git a/docs/sections/customizing.md b/docs/sections/customizing.md
index 2df32d5..745132f 100644
--- a/docs/sections/customizing.md
+++ b/docs/sections/customizing.md
@@ -2,7 +2,7 @@
 
 - [Implementing custom ML application](#implementing-custom-ml-application)
   - [Software project description](#software-project-description)
-  - [Hardware Abstraction Layer (HAL) API](#hardware-abstraction-layer-hal-api)
+  - [Hardware Abstraction Layer API](#hardware-abstraction-layer-api)
   - [Main loop function](#main-loop-function)
   - [Application context](#application-context)
   - [Profiler](#profiler)
@@ -10,7 +10,7 @@
   - [Adding custom ML use-case](#adding-custom-ml-use-case)
   - [Implementing main loop](#implementing-main-loop)
   - [Implementing custom NN model](#implementing-custom-nn-model)
-    - [Define `ModelPointer` and `ModelSize` methods](#define-modelpointer-and-modelsize-methods)
+    - [Define ModelPointer and ModelSize methods](#define-modelpointer-and-modelsize-methods)
   - [Executing inference](#executing-inference)
   - [Printing to console](#printing-to-console)
   - [Reading user input from console](#reading-user-input-from-console)
@@ -72,7 +72,7 @@
 >             └── *.cc
 > ```
 
-## Hardware Abstraction Layer (HAL) API
+## Hardware Abstraction Layer API
 
 The HAL is represented by the following interfaces. To access them, include the `hal.h` header.
 
@@ -435,7 +435,7 @@
 To minimize the memory footprint of the application, we advise you to only register operators that are used by the NN
 model.
 
-### Define `ModelPointer` and `ModelSize` methods
+### Define ModelPointer and ModelSize methods
 
 These functions are wrappers around the functions generated in the C++ file containing the neural network model as an
 array. This generation the C++ array from the `.tflite` file, logic needs to be defined in the `usecase.cmake` file for
@@ -641,7 +641,7 @@
 platform.data_psn->present_data_image((uint8_t *) inputTensor->data.data, 224, 224, 3, 10, 35, 2);
 ```
 
-Please refer to the [HAL API](#hal-api) section for more data presentation functions.
+Please refer to the [Hardware Abstraction Layer (HAL) API](#hardware-abstraction-layer-hal-api) section for more data presentation functions.
 
 ## Building custom use-case
 
@@ -694,7 +694,7 @@
 
 This ensures that the model path pointed to by `${use_case}_MODEL_TFLITE_PATH` is converted to a C++ array and is picked
 up by the build system. More information on auto-generations is available under section:
-[Automatic file generation](./building.md#Automatic-file-generation).
+[Automatic file generation](./building.md#automatic-file-generation).
 
 To build you application, follow the general instructions from [Add Custom inputs](./building.md#add-custom-inputs) and
 then specify the name of the use-case in the build command, like so:
diff --git a/docs/sections/deployment.md b/docs/sections/deployment.md
index caa3859..7a8e368 100644
--- a/docs/sections/deployment.md
+++ b/docs/sections/deployment.md
@@ -1,7 +1,7 @@
 # Deployment
 
 - [Deployment](#deployment)
-  - [Fixed Virtual Platform (FVP)](#fixed-virtual-platform-fvp)
+  - [Fixed Virtual Platform](#fixed-virtual-platform)
     - [Setting up the MPS3 Arm Corstone-300 FVP](#setting-up-the-mps3-arm-corstone-300-fvp)
     - [Deploying on an FVP emulating MPS3](#deploying-on-an-fvp-emulating-mps3)
   - [MPS3 board](#mps3-board)
@@ -17,7 +17,7 @@
 Both implement the Arm® *Corstone™-300* design. For further information, please refer to:
 [Arm Corstone-300](https://www.arm.com/products/iot/soc/corstone-300)
 
-## Fixed Virtual Platform (FVP)
+## Fixed Virtual Platform
 
 The FVP is available publicly from the following page:
 [Arm Ecosystem FVP downloads](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps).
