       let arrowStartPoint = CGPoint(x: arrowPosition.x + arrowSize.height, y: arrowPosition.y + arrowSize.width / 2)
       let arrowEndPoint = CGPoint(x: arrowPosition.x + arrowSize.height, y: arrowPosition.y - arrowSize.width / 2)
       let arrowVertex = arrowPosition
-      let cornerPoint = self.roundCornerCircleCenter(start: arrowStartPoint, vertex: arrowVertex, end: arrowEndPoint, radius: arrowRadius)
-      
-      // 1: Arrow starting point
-      path.move(to: CGPoint(x: arrowStartPoint.x, y: arrowStartPoint.y))
-      // 2: Arrow vertex arc
-      path.addArc(withCenter: cornerPoint.center, radius: arrowRadius, startAngle: cornerPoint.startAngle, endAngle: cornerPoint.endAngle, clockwise: true)
+      
+      // 1: Arrow starting point
+      path.move(to: CGPoint(x: arrowStartPoint.x, y: arrowStartPoint.y))
+      // 2: Arrow vertex arc
+      if let cornerPoint = self.roundCornerCircleCenter(start: arrowStartPoint, vertex: arrowVertex, end: arrowEndPoint, radius: arrowRadius) {
+        path.addArc(withCenter: cornerPoint.center, radius: arrowRadius, startAngle: cornerPoint.startAngle, endAngle: cornerPoint.endAngle, clockwise: true)
+      }
       // 3: End drawing arrow
       path.addLine(to: CGPoint(x: arrowEndPoint.x, y: arrowEndPoint.y))
       // 6: Left top line

    return path
  }
  
  private class func roundCornerCircleCenter(start: CGPoint, vertex: CGPoint, end: CGPoint, radius: CGFloat) -> CornerPoint {
    
    let firstLineAngle: CGFloat = atan2(vertex.y - start.y , vertex.x - start.x)
    let secondLineAngle: CGFloat = atan2(end.y - vertex.y , end.x - vertex.x)
    
    let firstLineOffset = CGVector(dx: -sin(firstLineAngle) * radius, dy: cos(firstLineAngle) * radius)
    let secondLineOffset = CGVector(dx: -sin(secondLineAngle) * radius, dy: cos(secondLineAngle) * radius)

    let x4 = end.x + secondLineOffset.dx
    let y4 = end.y + secondLineOffset.dy
    
    let divisor = ((x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4))
    
    if divisor == 0 {
      return nil
    }
    
    let intersectionX = ((x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4)) / divisor
    let intersectionY = ((x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4)) / divisor
    
    return CornerPoint(center: CGPoint(x: intersectionX, y: intersectionY),
                       startAngle: firstLineAngle - CGFloat.pi / 2,
