diff --git a/include/mysqli.php b/include/mysqli.php
index 3b535919e88f18fec8465067c7f7b55d7b4e54f2..d8ce115ccfc454369f8a8a89094dd5ce124c1016 100644
--- a/include/mysqli.php
+++ b/include/mysqli.php
@@ -125,7 +125,13 @@ function db_create_database($database, $charset='utf8',
 function db_query($query, $logError=true) {
     global $ost, $__db;
 
-    $res = $__db->query($query);
+    $tries = 3;
+    do {
+        $res = $__db->query($query);
+        // Retry the query due to deadlock error (#1213)
+        // TODO: Consider retry on #1205 (lock wait timeout exceeded)
+        // TODO: Log warning
+    } while (!$res && --$tries && $__db->errno == 1213);
 
     if(!$res && $logError && $ost) { //error reporting
         $msg='['.$query.']'."\n\n".db_error();