diff --git a/include/libcamera/internal/camera_lens.h b/include/libcamera/internal/camera_lens.h
index 6f2ea1bc..ff4d066e 100644
--- a/include/libcamera/internal/camera_lens.h
+++ b/include/libcamera/internal/camera_lens.h
@@ -24,7 +24,7 @@ public:
 	~CameraLens();
 
 	int init();
-	int setFocusPostion(int32_t position);
+	int setFocusPosition(int32_t position);
 
 	const std::string &model() const { return model_; }
 
diff --git a/src/libcamera/camera_lens.cpp b/src/libcamera/camera_lens.cpp
index 189cb025..810fcffa 100644
--- a/src/libcamera/camera_lens.cpp
+++ b/src/libcamera/camera_lens.cpp
@@ -84,7 +84,7 @@ int CameraLens::init()
  *
  * \return 0 on success or -EINVAL otherwise
  */
-int CameraLens::setFocusPostion(int32_t position)
+int CameraLens::setFocusPosition(int32_t position)
 {
 	ControlList lensCtrls(subdev_->controls());
 	lensCtrls.set(V4L2_CID_FOCUS_ABSOLUTE, static_cast<int32_t>(position));
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 6c5617cd..03259d0e 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -1267,7 +1267,7 @@ void IPU3CameraData::queueFrameAction(unsigned int id,
 		const ControlValue &focusValue =
 			lensControls.get(V4L2_CID_FOCUS_ABSOLUTE);
 
-		focusLens->setFocusPostion(focusValue.get<int32_t>());
+		focusLens->setFocusPosition(focusValue.get<int32_t>());
 
 		break;
 	}