diff --git a/handler/quiz/get.go b/handler/quiz/get.go
index 989720bfb7b063955a00f3b8ea99a4756fe6fbc8..799ca822a991240a0c6febccb29640720f1b5e67 100644
--- a/handler/quiz/get.go
+++ b/handler/quiz/get.go
@@ -43,11 +43,7 @@ func (m QuizHandlerImpl) GetQuizDetail(w http.ResponseWriter, r *http.Request) {
 		if ok {
 			payload := m.WrapperUtil.ErrorResponseWrap(respErr.Error(), respErr)
 
-			if respErr.Code != "NOT_OWNER" {
-				m.HttpUtil.WriteJson(w, http.StatusBadRequest, payload)
-			} else {
-				m.HttpUtil.WriteJson(w, http.StatusForbidden, payload)
-			}
+			m.HttpUtil.WriteJson(w, http.StatusBadRequest, payload)
 		} else {
 			payload := m.WrapperUtil.ErrorResponseWrap("internal server error", nil)
 			m.HttpUtil.WriteJson(w, http.StatusInternalServerError, payload)
diff --git a/repository/quiz/impl.go b/repository/quiz/impl.go
index ddf2fe760fe3abef7a71058d33b4256386240c88..03665df4d4915b3c188da6e737bed27e7dc1582d 100644
--- a/repository/quiz/impl.go
+++ b/repository/quiz/impl.go
@@ -1,10 +1,12 @@
 package quiz
 
 import (
+	"errors"
 	"time"
 
 	"github.com/google/uuid"
 	"gitlab.informatika.org/ocw/ocw-backend/model/domain/quiz"
+	"gitlab.informatika.org/ocw/ocw-backend/model/web"
 	"gitlab.informatika.org/ocw/ocw-backend/provider/db"
 	"gorm.io/gorm"
 )
@@ -22,13 +24,19 @@ func New(
 func (q *QuizRepositoryImpl) GetQuizes(courseId string) ([]quiz.Quiz, error) {
 	result := &[]quiz.Quiz{}
 	err := q.db.Where("course_id = ?", courseId).Find(result).Error
+
 	return *result, err
 }
 
 func (q *QuizRepositoryImpl) GetQuizDetail(quizId uuid.UUID) (*quiz.Quiz, error) {
 	result := &quiz.Quiz{}
-	err := q.db.Where("id = ?", quizId).Find(result).Error
-	return result, err
+	err := q.db.Where("id = ?", quizId).First(result).Error
+
+	if errors.Is(err, gorm.ErrRecordNotFound) {
+		return nil, web.NewResponseError("Record not found", "ERR_NOT_FOUND")
+	}
+
+	return result, nil
 }
 
 func (q *QuizRepositoryImpl) UpdateScore(takeId uuid.UUID, score int) error {