diff --git a/core/modules/dblog/src/Plugin/rest/resource/DBLogResource.php b/core/modules/dblog/src/Plugin/rest/resource/DBLogResource.php
index 56740ca..9e81834 100644
--- a/core/modules/dblog/src/Plugin/rest/resource/DBLogResource.php
+++ b/core/modules/dblog/src/Plugin/rest/resource/DBLogResource.php
@@ -9,7 +9,7 @@
 
 use Drupal\rest\Plugin\ResourceBase;
 use Drupal\rest\ResourceResponse;
-use Symfony\Component\HttpKernel\Exception\HttpException;
+use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 
 /**
@@ -49,6 +49,6 @@ public function get($id = NULL) {
       throw new NotFoundHttpException(t('Log entry with ID @id was not found', array('@id' => $id)));
     }
 
-    throw new HttpException(t('No log entry ID was provided'));
+    throw new BadRequestHttpException(t('No log entry ID was provided'));
   }
 }
diff --git a/core/modules/dblog/src/Tests/Rest/DbLogResourceTest.php b/core/modules/dblog/src/Tests/Rest/DbLogResourceTest.php
index fa42ad8..7c30b55 100644
--- a/core/modules/dblog/src/Tests/Rest/DbLogResourceTest.php
+++ b/core/modules/dblog/src/Tests/Rest/DbLogResourceTest.php
@@ -59,5 +59,11 @@ public function testWatchdog() {
     $this->assertResponse(404);
     $decoded = Json::decode($response);
     $this->assertEqual($decoded['error'], 'Log entry with ID 9999 was not found', 'Response message is correct.');
+    
+    // Make a bad request (a true malformed request would never be a route match).
+    $response = $this->httpRequest(Url::fromRoute('rest.dblog.GET.' . $this->defaultFormat, ['id' => 0, '_format' => $this->defaultFormat]), 'GET');
+    $this->assertResponse(400);
+    $decoded = Json::decode($response);
+    $this->assertEqual($decoded['error'], 'No log entry ID was provided', 'Response message is correct.');
   }
 }
